Privacy
TokenEater only reads your usage, and your data stays on your Mac. Here is everything it reads and every server it talks to.
Network calls
GET api.anthropic.com/api/oauth/usageand/api/oauth/profile: Claude usage and plan, with Claude Code's OAuth tokenGET chatgpt.com/backend-api/wham/usage: Codex usage and credits, with the Codex CLI tokenstatus.claude.com, no token: Claude outage check, on by default even with Claude tracking off (turn off in Settings -> General -> Service Status)raw.githubusercontent.com,api.github.com,github.com, no token or user ID: update check, release notes, update download
Each token only goes to its own provider, and a provider you turn off gets no usage calls. No analytics, telemetry, third-party SDKs or automatic error reports.
Read-only
TokenEater never sends messages, reads conversations or changes either account, and never writes or refreshes provider tokens: if one expires, open Claude Code or Codex (or run codex login). Anthropic has no scoped tokens for third-party apps yet; TokenEater will use them once they exist.
What it reads
- Claude token: Keychain item
Claude Code-credentialsvia/usr/bin/security(click Always Allow once, the permission survives updates), else~/.claude/.credentials.json, else Claude Desktop's token, decrypted locally. See Keychain access. - Codex token:
~/.codex/auth.json(orCODEX_HOME), no Keychain prompt - Session logs, for History:
~/.claude/projects/**/*.jsonl, andsessions/andarchived_sessions/under~/.codex(orCODEX_HOME) - Claude Code processes and logs, for Agent Watchers
What it stores
- Preferences in
~/Library/Preferences/com.tokeneater.app.plist - Usage and History caches in
~/Library/Application Support/com.tokeneater.shared/(shared.json,codex.json): numbers only, no token, and no email or account ID for Codex
Widgets only read these files, with no network or Keychain access. Copy diagnostic, the report you paste into a GitHub issue, never includes a token, credentials or organization name.