Session Manager
For Claude Code · macOS menu bar app · free and open source

Switch Claude Code accounts before you hit the usage limit

Session Manager watches the 5-hour and weekly limits of every Claude Pro or Max account you have and moves Claude Code to the one with the most headroom, automatically, before the active account gets rate-limited. Running sessions keep going. It can also text you when a Claude Code session is waiting on you.

MIT · Apple silicon and Intel · no account, no server, no telemetry
22 seconds, with sound: auto-swap moves Claude Code to the account with room, and a waiting session texts you.
What it does

Every Claude account's runway, on one screen

Many Claude accounts, one dashboard

Capture the account Claude Code is logged in with, or add more through a browser login. Each gets a gauge with its headroom and when its tightest window resets.

Automatic account switching

When the 5-hour session or the weekly window you chose (all models, Fable, or whichever is tighter) crosses its swap line, Claude Code moves to the account with the most room.

Texts you when Claude Code needs you

Lists open Claude Code sessions and, while you are away from the Mac, sends an iMessage when one asks a question, hits a permission prompt, or finishes.

Compact before the swap

A small Claude Code hook asks you to run /compact once the active account nears its line, so a conversation moves accounts without a costly re-cache.

Codex quota, read-only

If the Codex CLI is signed in with ChatGPT, its 5-hour and weekly windows sit in the sidebar and the menu bar.

Local only

One user, no server, no telemetry. Credentials live in owner-only files on your Mac; the only calls go to Anthropic's and OpenAI's own APIs.

Session Manager dashboard: the active Claude account's headroom gauge at 79%, two standby accounts, the Codex quota panel, and the auto-swap settings
The active account's binding window up top, standby accounts below, Codex and auto-swap on the right.
How it works

Session-first auto-swap

01 · WATCH

Poll every account

Usage refreshes every few minutes, or on every message through Claude Code's status line feed, for the 5-hour, weekly, and Fable weekly windows.

02 · DECIDE

Find the binding window

When the active account crosses a swap line, the account with the most headroom on that same window wins, if it beats the active one by the margin. A cooldown stops flapping.

03 · SWITCH

Swap the login safely

Under Claude Code's own lock files, the target credential goes into the Keychain and ~/.claude.json. Open sessions pick it up on their next request.

Install

Running in two minutes

  1. Download the DMG for your Mac from the latest release: -arm64.dmg for Apple silicon, the plain .dmg for Intel. Drag the app to Applications.
  2. The build is unsigned, so open it the first time with right-click → Open, or:
    xattr -dr com.apple.quarantine "/Applications/Session Manager.app"
  3. Sign in to Claude Code once (claude), then press Capture current login. Add your other accounts with Log in with browser and arm auto-swap.

Prefer to build it? npm install && npm run dist with Node 22. Full walkthrough in the user guide.

FAQ

Questions people ask

How do I use more than one Claude Code account on the same Mac?

Claude Code keeps one login at a time, in the macOS Keychain. Session Manager stores a credential for each of your accounts, and a switch writes the one you pick into the Keychain (and its identity into ~/.claude.json) under Claude Code's own lock files. Add accounts, then press Switch on any card or let auto-swap choose.

How do I stop hitting the Claude Code 5-hour limit or weekly limit?

You can't raise a limit, but with more than one account you can move to one that has room. Auto-swap switches to the account with the most headroom once the active account's 5-hour session or chosen weekly window crosses your swap line (90% used by default). The dashboard also shows every account's reset time, so you can plan by hand.

Does switching accounts interrupt a running Claude Code session?

No. Open sessions keep their conversation and pick up the new login on their next request. The only cost is one re-cache of that conversation on the new account, which is why Session Manager can nudge you to run /compact just before a swap.

Which Claude plans does it work with?

Any Claude subscription account that Claude Code signs in to through claude.ai (Pro and Max), since the 5-hour and weekly windows it reads belong to those plans. API-key usage has no such windows and is not tracked.

Can Claude Code text me when it needs an answer?

Yes. Install the session hooks, add your phone number or Apple ID email, and Session Manager sends you one iMessage through the Messages app when a session is asking a question, waiting on a permission prompt, or finished, and nobody has touched the Mac for two minutes.

Is it safe? Where do my tokens go?

Credentials stay on your Mac in owner-only files, Keychain writes pass the secret on stdin, and nothing is logged beyond email addresses. The app talks only to Anthropic's and OpenAI's own endpoints. It is MIT-licensed, so you can read every line.

Does it run on Windows or Linux?

No. It relies on the macOS Keychain, the menu bar, and Messages. For a cross-platform command-line switcher, see claude-swap, whose switching mechanics Session Manager follows.

Stop waiting for a window to reset

Session Manager is free and MIT-licensed. If it saves you a rate limit, a star on GitHub helps other Claude Code users find it.