# modeldeck

> macOS menu bar app showing how much Claude Code and Codex usage you have left

- Repository: https://github.com/timharris707/modeldeck
- Category: Token & cost savings
- Stars: 116 · Forks: 16 · Language: JavaScript · License: not stated
- Experience: Beginner friendly
- Page: https://ir.adyog.com/repos/timharris707/modeldeck/

If you run AI coding agents a lot, you may have a work Claude plan, a personal one and a Codex subscription. Each has its own 5-hour window, weekly limit and per-model caps, all resetting at different times. Checking by hand usually happens after a run has already died.

ModelDeck has two parts. A SwiftUI menu bar app shows the meters. A small Node.js daemon, listening only on 127.0.0.1, does the reading. Codex usage comes through the official codex app-server protocol. Claude usage comes from Anthropic's usage endpoint, using the credential already stored in that account's profile.

Each account gets its own isolated profile home, so identities don't mix. The README says there is no cloud backend and no telemetry, and that ModelDeck never copies or stores your provider credentials. Update checks are off unless you enable them. The license is PolyForm Noncommercial, so commercial use needs the author's permission.

## What it does

- **Every limit in one popover**: One card per account shows the plan tier and a bar for the worst window. Rows expand to show each window with its reset time in your time zone, including model-scoped weekly caps.
- **Low-capacity warnings**: The menu bar icon shows a gold percentage when an account drops below your threshold and red when critical. A notification fires once when the threshold is crossed.
- **Account activation**: Choose which account new terminal sessions use. ModelDeck swaps isolated profile homes, checks the result and reports it as effective, identity-mismatch or identity-unverified. Running sessions are left alone.
- **Duplicate-credential warning**: If two accounts end up sharing the same credential, the deck flags them instead of counting the same limit twice.
- **Guided add-account flow**: Name the account, sign in through the provider's own browser login, then confirm the identity ModelDeck read back.

## What you could build

- Check which of your Claude and Codex accounts will run out first before starting a long agent task.
- Get a notification when an account falls below a chosen percentage so you can switch before a run fails.
- Keep work, personal and side-project logins separate with isolated profile homes.
- Pin one account's remaining percentage in the menu bar to watch it all day.
- Switch the active account for new terminal sessions without logging out of running ones.

## Who it's for

People on macOS 14+ who use Claude Code or Codex CLI, ideally with more than one account, and are comfortable signing in to each CLI.

## Get started

Download the signed DMG from the GitHub Releases page, drag ModelDeck to Applications and launch it, approving the background service once. Then open Settings → Accounts → Add Account and follow the three-step flow for each account. Building from source needs Node.js 24+ and uses npm install, npm start and swift run.



Tags: macos, menubar, claude-code, codex-cli, usage-tracking
