Hatcheck

Claude Code and Codex accounts on one computer, each kept apart: recent sessions, plan usage and resume commands across all of them.

Unofficial: not made by, affiliated with or endorsed by Anthropic or OpenAI. Claude, Claude Code and Claude Desktop are trademarks of Anthropic; Codex and ChatGPT are trademarks of OpenAI.

Install the CLI Get the app Source on GitHub

What it does

One profile per account

cl work runs Claude Code with ~/.claude-work, cx work runs Codex with ~/.codex-work: each with its own login, settings and sessions. Bind a folder to a profile, and the name can be left out there.

What to resume, and what's left

hatcheck lists recent sessions from every profile with the command that resumes each, and what's left of that plan. hatcheck usage shows every plan, sorted by what's left of Fable; hatcheck best says which account to use now.

Sessions that travel

hatcheck move carries a session to another profile when one account runs low, back again later, or converts it between Claude Code and Codex. hatcheck open resumes one in a new terminal, in its folder.

In the terminal

$ hatcheck
Claude Code and Codex CLI sessions active in the last 24h or open now (by folder, newest first)
cd ~/code/api
    4m  Fix flaky login test · main · ● open in pid 48213 (busy)
        cl work --resume 3f1c2a9e-8b7d-4c1e-9f2a-6d5e4c3b2a10      # 5h 100% █████  Fable 48% ███▍░░░ ↻████▎░░ 4d6h
   40m  Add retries to the uploader · codex · main
        cx work resume 019a8c1e-7d3f-7b21-9c4e-2f1a0b9c8d7e        # 5h  80% ████░ ↻███▏░ 3h10m  week 64% ████▌░░ ↻█▊░░░░░ 1d18h
    3h  Add rate limiting to the login endpoint · feat/rate-limit
        claude --resume 9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d       # 5h  62% ███▏░ ↻██▋░░ 2h41m  week 91% ██████▍ ↻███▏░░░ 3d2h

Every plan, at a glance

Each limit has two bars: what's left of it, then how much of its window is left before it resets. Per-model limits such as Fable are violet, so they stand apart from the weekly limit for all models.

session (5h)62%resets 5:01pm
week (all models)91%resets Sat 4:20pm
week (Fable)19%resets Tue 12:00pm

Install the CLI

macOS, Linux and Windows: one binary per platform, nothing else needed. It installs hatcheck (hat for short), cl, cx, claude-z and claude-k.

curl -LsSf https://github.com/hatcheck/hatcheck/releases/latest/download/hatcheck-installer.sh | sh
brew install hatcheck/tap/hatcheck  # Homebrew, on macOS and Linux
uv tool install hatcheck            # or: pipx install hatcheck

On Windows, in PowerShell:

powershell -ExecutionPolicy Bypass -c "irm https://github.com/hatcheck/hatcheck/releases/latest/download/hatcheck-installer.ps1 | iex"

Or build it from a clone, with Rust; run ./install.sh again after a git pull:

git clone https://github.com/hatcheck/hatcheck
cd hatcheck && ./install.sh         # Windows, in PowerShell: .\install.ps1

The app

A menu-bar app (system tray on Windows and Linux) built on the CLI: what's left of every plan, the last day's sessions with Resume and Copy, the Claude Desktop instances a click away, and a notification when a limit runs low or resets. Its main window browses every session with a preview, moves sessions between profiles after a dry run, and adds profiles.

macOS Apple silicon and Intel, .dmg Windows installer, .exe or .msi Linux AppImage or .deb

On macOS, Homebrew works too: brew install --cask hatcheck/tap/hatcheck-app. The app updates itself from the releases.

Rules it keeps

Not a gateway. Hatcheck is never between an agent and its model. It rewrites no agent's config, holds no login, and runs nothing in the background. Tools such as magpie put a local gateway in that path so any agent can use any model and accounts can take over from each other when a quota runs out. If that is what you want, use one of those. Hatcheck is for the opposite case: keeping a work account and a personal account apart, and knowing which one each session ran on.

Each rule links to the code that keeps it, so it can be checked rather than taken on trust.