Quick reference

Compatibility, timings, file paths and network calls at a glance.

System compatibility

macOS 14 (Sonoma) or later, Apple Silicon or Intel. No other dependency.

Supported plans

ClaudeOpenAI Codex
PlansPro, Max or Team. Free exposes no usage data.A ChatGPT account. The plan badge recognizes Free, Plus, Pro, Pro Lite, Team, Business, Enterprise and Edu.
Sign-inClaude Code (claude, then /login)Codex CLI with ChatGPT (codex login). API-key accounts have no usage windows.
Windows5h session and weekly, plus Opus, Fable, Cowork and Sonnet when your plan reports them, and Extra Credits when enabledThe ones your plan declares, labelled by duration (5h, 7d or another length)

What each provider supports: Claude and Codex, or Settings -> Providers in the app.

Frequencies and timings

ValueDetails
Usage polling5 min3 to 15 min in Settings -> General -> Refresh. After a rate limit: 30 min, 1 h, 2 h, 4 h, then 6 h.
Menu bar countdown1 minComputed locally, no API call
Service Status5 minClaude only. 1 to 30 min in Settings -> General -> Service Status, faster during an outage.
Agent Watchers scan2 sClaude only. 2, 5 or 10 s.
Claude 5h session5 hSliding, from the first session
Claude weekly7 daysSliding, aligned to your account

Agent Watchers (Claude only)

  • Launchers: native installer, npm (NVM, fnm, volta), Homebrew, Claude Desktop's embedded CLI, IDE extension
  • Terminals: Terminal.app, iTerm2, Kitty, WezTerm, Warp, Ghostty, Alacritty
  • Editors: VS Code, Cursor and Windsurf (integrated terminal or Claude Code extension), Zed, Sublime Text, JetBrains IDEs
  • Multiplexers: tmux and screen, in any terminal
  • Click to focus: the exact tab or pane in Terminal, iTerm2, Kitty, WezTerm and tmux (Kitty, WezTerm and tmux need the snippet from Settings -> Watchers -> Terminal setup). Elsewhere it brings the app forward.
  • Not detected: the old 2.0.x Claude Code extension. Update it.

Important paths

  • Keychain item Claude Code-credentials: Claude Code's token (see Keychain access)
  • ~/.claude/.credentials.json: Claude Code credentials, fallback for older installs
  • ~/.claude/projects/**/*.jsonl: Claude Code sessions (History, Agent Watchers)
  • ~/.codex/auth.json (or $CODEX_HOME/auth.json): Codex CLI login, read only
  • ~/.codex/sessions/ and ~/.codex/archived_sessions/: Codex sessions (History)
  • ~/Library/Application Support/com.tokeneater.shared/: data shared with the widgets, History caches, watcher scripts, downloaded updates
  • ~/Library/Preferences/com.tokeneater.app.plist: app preferences

Network calls

  • GET api.anthropic.com/api/oauth/usage and /api/oauth/profile: Claude usage and plan (Claude Code token)
  • GET chatgpt.com/backend-api/wham/usage: Codex usage and credits (Codex CLI token)
  • GET status.claude.com/api/v2/summary.json: Claude service status, no token
  • raw.githubusercontent.com/AThevon/TokenEater/main/docs/appcast.xml and api.github.com/repos/AThevon/TokenEater/releases/tags/<version>: update check and release notes, no token
  • github.com/AThevon/TokenEater/releases/download/<version>/TokenEater.dmg: the update, only when you click Download, no token

Each token goes only to its own provider, every call is read-only, and a provider you switch off is never polled.