If you pay for more than one Claude subscription, each one's weekly quota resets on its own schedule. planhop launches Claude Code on whichever account would lose quota soonest, and every account shares one config, one history and one set of sessions.
Spend the quota that expires first.
npm install -g planhopbrew install bendechrai/tap/planhopmacOS and Linux. Needs Node.js 20 or later and Claude Code.
Hover over the chart to add or remove subscriptions, or drag a marker to change when a week resets.
Visualise your setup
This is an indicative model with made-up numbers: it assumes a full 5-hour window is about an eighth of a week's quota, and that each day's use starts now.
How it picks an account
You only use one account at a time, so planhop works through them in the order their quota expires. Each time you start Claude Code with planhop run (or plain claude, once you've installed the shim), it checks every account's usage and applies these rules in order.
Skip anything at its limit
An account at 100% of its 5-hour or weekly limit is passed over. If every account is at a limit, planhop uses the one that frees up soonest.
Take the soonest weekly reset
Quota on that account is the next to be lost. An account whose week hasn't started goes last, because nothing on it is expiring yet.
Break close calls on the 5-hour window
If two weekly resets are within 6 hours of each other, planhop prefers the account with more 5-hour quota about to expire unused.
Checking usage doesn't cost any quota or start a 5-hour window. If a session hits a limit, quit and start again with planhop run -c (or claude -c with the shim): planhop moves you to the next account and the conversation carries on.
One setup, several logins
Each account keeps its own login, so the Chrome extension and claude.ai connectors keep working. Everything else is shared with your existing ~/.claude.
Shared across accounts
- Settings,
CLAUDE.mdand permissions - Sessions and transcripts, so
--resumefinds all of them - Prompt history
- Skills, agents, plugins and hooks
- MCP servers: add or remove one on any account and every account gets the change
Kept per account
- The login itself
- claude.ai connectors, which belong to each claude.ai account
- Browser sign-ins for MCP servers
- Caches and telemetry
Want something kept per account instead? List it under keepSeparate in planhop's config (how). And planhop never deletes your files: if an account already has its own copy of something shared, it asks which to keep and moves the other aside.
Set it up
Register the account you already use, add the others and log them in, then start Claude Code with planhop run. It takes the same arguments as claude.
planhop add a ~/.claude # the subscription you're logged into now
planhop add b # creates ~/.claude-b
planhop login b # opens your browser to log B in
planhop status # usage per account, and which one is next
planhop run # starts Claude Code on the account planhop picks
Installing planhop doesn't change what claude does. To keep typing claude and have it go through planhop, run planhop shim: it writes a small claude command to ~/.local/share/planhop/bin, offers to add it to your shell's startup file, and checks that new terminals pick it up. planhop shim --remove undoes it.
Then see which account each session is on in Claude Code's status bar, along with that account's own 5-hour and weekly usage:
planhop statusline --install
Already have a status line, like Meko's or the Claude Usage app's? The installer asks whether to show it after planhop's or keep it with just the account in front, and planhop statusline --uninstall puts it back. The README covers the rest.
Good to know
The Chrome extension
The extension only works with Claude Code sessions logged into the same account as it. To use the browser from more than one subscription, give each one its own browser profile.
How to set it up
- Create a browser profile for each subscription (in Chrome or Brave, click your profile picture, then Add).
- Install the Claude in Chrome extension in each profile, and sign each one in with its own subscription's claude.ai account.
- Keep those profiles open. Each session finds the extension signed into its account; if one connects to the wrong browser, run
/chromeand choose Select browser.
Profiles don't share site logins, so sign in to the sites you need in each one. Anthropic's Chrome docs cover installing the extension.
Idle accounts
A stored login only renews while Claude Code is running on that account. For an idle account, planhop uses the last reading it saved, which stays accurate unless you've used that account in the claude.ai apps since.
Undocumented internals
planhop reads usage the way Claude Code's /usage does, which isn't a documented interface. If a Claude Code release changes it, planhop falls back to saved readings and then to your first account.
Your own accounts only
planhop is for people who pay for more than one subscription themselves. Check Anthropic's Consumer Terms and Usage Policy for what they allow.