Privacy, in plain terms.
Token Bar is an independent open-source macOS utility. It does not operate a hosted token-history service or add analytics to your prompts.
On your Mac
The app reads local Codex, Claude Code, Grok, and OpenCode usage records to build history. Supported activity readers use local counters to estimate output speed. Codex account-bound quota readings use the installed Codex app-server and your existing sign-in. Grok allowance uses the installed Grok agent and its existing sign-in. Local sign-in observations can associate history with an account; these associations are marked as inferred.
History, counter fingerprints, task identities, model names, account
observations, local file paths, and file checkpoints are stored under
~/Library/Application Support/CodexTokenBar/. Menu-bar
preferences use macOS preferences. Prompt insights read local prompt
text in memory and save derived statistics and per-chat byte checkpoints
locally. The Insights page reuses that saved work and refreshes changed
chats automatically while open. The app does not upload
that prompt text or add it to its ledger.
Token Bar also reads Claude Code’s local quota cache when it
matches the account and is fresh. Every 15 minutes it asks the installed
Claude Code for usage, without a prompt or a saved session; Claude Code
then contacts its provider with your existing sign-in and updates that
cache. Optional Fable quota and time-left fields are calculated on your
Mac from those readings. If you choose Connect Claude Code, the
app adds its relay to the status line in your Claude Code user settings
(keeping any existing command, with a backup) and Claude Code then writes
its status JSON, including rate limits, to
~/Library/Application Support/CodexTokenBar/claude-statusline.json
after each turn. The relay keeps the supplied status JSON locally. Token
Bar uses rate-limit presence to show connection state; these readings
have no originating account identity and do not supply account quota.
Token Bar does not read Claude credentials or make a Claude quota request itself.
For Grok, Token Bar reads local sign-in identity fields to associate quota
observations with an account. The installed Codex app-server, Claude Code and Grok agent may contact
their providers using your existing sign-ins. Token Bar does not send your
usage history to the maintainer.
Keeping and removing local data
Saved counters and checkpoints let the app reuse previous work. Reports
are cached in memory while the app runs and reconstructed from saved
history on relaunch. Saved data is updated incrementally. It
remains on your Mac after the app is removed. To remove this data, quit
Token Bar and delete its CodexTokenBar support folder; this also removes
saved history and account observations. macOS preferences are stored
separately under local.star.CodexTokenBar. Original tool logs
belong to their respective tools and are not deleted by Token Bar.
Derived prompt statistics and checkpoint hashes are saved in
prompt-index/; the derived report index is saved in
report-index.json inside the same support folder. Prompt and
answer text are not saved to either cache, the usage ledger or request
archive. Repeated-prompt labels are read from their original source by
byte position and stay in memory.
Checking for updates
When Token Bar starts, it reads this site’s public release.json once to learn whether a newer notarized installer exists. The request carries no usage history, account, or app version, uses no cookies or cache, and is the only request the app makes to this site on its own. Cloudflare receives ordinary request metadata for it, as for any page view. Turn it off with “Check for updates when Token Bar starts” in Menu bar settings. Nothing downloads or installs without your click.
Preparing a report
Opening Feedback sends only the app version to this website. The page removes that convenience parameter from the address bar. You enter the title, report and optional app/macOS versions yourself. There is no contact-email field, email delivery, CAPTCHA or feedback submission to a Token Bar server.
Draft fields are saved in this browser’s local storage so you can return to them. They remain until you choose Clear local draft or remove this site’s browser data. If storage is unavailable, the page warns you and keeps the draft in the open page. Copy your draft before leaving. Do not use these fields for private information, especially in a shared browser.
Reports emailed before this change may remain in the maintainer’s mailbox and the email provider’s delivery records under their retention settings. Retiring the form does not delete those earlier messages.
Reviewing on GitHub
Choosing Review on GitHub sends the draft fields to GitHub in a prefilled URL, before any issue is submitted. The URL may remain in your browser history. GitHub requires an account to submit an issue, and a submitted issue is public. You decide whether to submit there; the website never posts automatically.
Long drafts stay here with a copy fallback. Copy draft uses your browser’s clipboard permission; if it fails, a selectable text field is provided. Open GitHub directly and Search existing issues send no draft fields. Copying does not submit a report.
Website services
Cloudflare serves the site. GitHub hosts the source, release downloads and issues. These services may receive ordinary network/request metadata. GitHub receives report fields only when you choose Review on GitHub or paste them there yourself. This site adds no advertising trackers or analytics scripts. Retired email API paths return an unavailable response without forwarding submissions.
Cloudflare privacy policy · GitHub privacy statement
Your choices
You can use the local app without sending feedback. You can build it from source, inspect its data handling, or submit an issue directly on GitHub without supplying an email to this site. Exported CSV files may contain account labels and task identifiers; share them deliberately.
Last updated: September 19, 2026.