TokPace shows whether your Claude and Codex subscription quotas are on pace to last until reset. It lives in the macOS menu bar and reads quota percentages from your local Tokscale installation.
- The large number is the remaining quota reported by Tokscale.
- A fixed-window quota gets a linear target, actual history, and exhaustion forecast.
- TokPace selects the fixed-window quota with the highest projected usage.
- Rolling quotas, including Codex Spark weekly, show their current value without an invented pace forecast.
- Local history starts when you first run TokPace.
TokPace tracks provider quotas. It does not count every token in a coding session. Tokscale has separate views for token consumption and cost.
- macOS 14 or newer
- Xcode with a Swift 6.2-compatible toolchain
- Tokscale installed as a persistent executable
Tokscale publishes a tokscale npm binary. Install it globally:
npm install --global tokscale@latest
tokscale usage --jsonTokPace does not install Tokscale for you.
This release is source-only. There is no notarized public binary yet.
cd tokpace
cd app
swift test
swift build -c release
cd ..
chmod +x scripts/package-tokpace.sh
./scripts/package-tokpace.shThe script creates dist/TokPace.app and dist/TokPace.zip. Open the app from dist or move it to /Applications. macOS may warn about a locally built, ad-hoc-signed app. Review the source and build it yourself before allowing it to open.
The first executable match wins:
- The path selected in TokPace Settings
tokscaleonPATH~/.local/bin/tokscale~/.bun/bin/tokscale/opt/homebrew/bin/tokscale/usr/local/bin/tokscale
Use Choose path… in Settings if automatic detection misses your installation. TokPace accepts executable files and resolves symlinks. Clearing the custom path restores automatic detection.
For fixed five-hour and weekly windows, TokPace extends the average usage pace observed so far. The target line spends the quota evenly across the window. The red line projects the current average pace.
TokPace waits until 0.2% of a fixed window has elapsed before projecting its pace. Until then, it reports that more elapsed time is needed instead of calling the quota on track. The estimate reacts to bursty work, provider corrections, plan changes, delayed reporting, and reset metadata. Rolling windows have no fixed start. TokPace therefore omits the target and suggested pace for them.
Settings contains the controls used by this release: language, launch at login, refresh interval, menu-bar display, and Tokscale path.
TokPace stores timestamp, provider, plan, metric name, used percentage, remaining percentage, and reset time for eight weeks:
~/Library/Application Support/TokPace/history.json
The historical line appears after TokPace has observed a comparable completed window. Activity from before installation cannot be reconstructed.
TokPace runs the detected executable directly:
tokscale usage --json
There is no shell wrapper. TokPace parses Claude and Codex quota metrics and discards account IDs, email addresses, credit data, and the raw JSON response.
TokPace has no backend, telemetry, TokPace login, leaderboard integration, or tokscale submit call. Tokscale is a separate program with its own behavior and configuration.
command -v tokscale
tokscale usage --jsonIf the first command returns a path but TokPace misses it, select that executable in Settings.
Run tokscale usage --json in Terminal. TokPace keeps the last confirmed values visible when a later refresh fails and marks them as stale.
History begins with the first successful refresh. TokPace waits for real samples from a comparable prior window.
TokPace displays subscription quota percentages from Tokscale's usage command. Token totals in Tokscale describe model consumption. These measurements answer different questions.
cd app
swift test
swift build -c release
cd ..
./scripts/package-tokpace.shSee CONTRIBUTING.md, SECURITY.md, and CHANGELOG.md.
TokPace is based on AIPace, used under the MIT License. Quota data comes from a separate local installation of Tokscale. See THIRD_PARTY_NOTICES.md.
The project is unofficial and is not affiliated with Anthropic, OpenAI, AIPace, or Tokscale. The root LICENSE remains unchanged and is included in packaged app resources.
