How to Use Janus for Claude Code

Set up Janus on Mac, save separate Claude Code accounts, switch the next session, and check whether each account's usage figures are current.

Monday, September 28, 2026Omid Saffari
How to Use Janus for Claude Code

You can make the next Claude Code session open under the right personal or work login without repeating the browser sign-in every time. The Janus covered here is RamitVishwakarma/Janus, a new macOS account switcher whose first public release arrived on September 25, 2026. Version 1.1.0 followed two days later with fresher per-account usage readings. The practical win is not cheaper Claude access. It is fewer wrong-account sessions, fewer repeated logins, and a visible check before client work starts.

Janus changes the next session, not the one already running

Janus saves the two local parts that make Claude Code recognize an account: the OAuth credentials in the macOS Keychain and the matching Claude settings file. Think of it as a locked key cabinet. Selecting an account puts that account's key and settings back in the live slot, ready for the next process to pick up.

That last phrase matters. A Claude Code process reads its credentials at startup. Switching in Janus does not change a terminal or IDE session that is already open. Quit or stop that process, switch accounts, then start a fresh Claude Code session.

The software does not merge subscriptions, transfer allowance, or create extra usage. Each login keeps its own paid access and limits. Use the separate Claude Code pricing guide for current plan costs. Janus changes login friction, not the plan budget.

Architectural flow showing two Claude Code accounts being saved, switched and restarted
Janus changes the credentials used by the next Claude Code process, so restart Claude Code after switching.

This walkthrough is source-verified against Janus v1.1.0. It is not a hands-on reliability benchmark: no claim here depends on a measured switch time or an unreported test on a two-account Mac.

Install Janus only after making the trust decision

Janus supports macOS 13 or later on both Apple silicon and Intel. The pinned v1.1.0 release contains a DMG, a ZIP and SHA256SUMS.txt. The published DMG and ZIP both match that manifest.

The installation limitation is not cosmetic. Janus is ad-hoc signed and not notarized. macOS will identify it as coming from an unverified developer, and the project's installation instructions tell you how to remove the quarantine flag. That bypass is a trust decision because the app handles Claude Code credentials. Review the repository, choose the exact tagged release, and verify the downloaded file before following the quarantine instructions.

On a Mac, download Janus-1.1.0.dmg and SHA256SUMS.txt into the same folder, then verify the manifest:

Shell
shasum -a 256 -c SHA256SUMS.txt

Open the DMG, drag Janus to Applications, then follow the release's launch instructions if you accept the risk. The project also documents a Homebrew cask with --no-quarantine; the same trust decision applies.

The reason Janus needs broad local access is also the reason to inspect it. The app is not sandboxed because it must reach Claude Code's Keychain item and settings file. It is MIT-licensed and unaffiliated with Anthropic, but an open license is not a security review.

Save two Claude Code accounts

The clean setup uses two accounts you control and records the active identity at every handoff.

  1. Sign in to Claude Code with account A. If Claude Code itself is new to this Mac, complete the normal setup first. The broader Claude Code setup guide covers that starting point.
  2. Open Janus and read the current email shown in its window or menu bar. Press Save current account.
  3. In Claude Code, sign out of account A and sign in once with account B.
  4. Return to Janus. Confirm the displayed email is account B, then press Save current account again.
  5. Janus should now list both accounts. Choose account A or B from the window, or use the menu-bar switch action.
  6. Stop the existing Claude Code process and start a new one. The old process keeps the credentials it loaded earlier.
  7. Before opening a client repository, confirm the email in Janus and run /usage in the new Claude Code session. Match its five-hour and weekly position to the intended account.

Janus saves the displaced account before it restores the selected one. It also obtains the replacement session before touching the live session. The documented failure behavior is conservative: a missing saved session or refused Keychain operation should leave the Mac on the account that was already active.

The two-account verification checklist

Use a low-risk repository for the first switch, not active client work.

  • Before switching, note the email Janus marks as signed in and record the visible five-hour and weekly usage state.
  • Leave one Claude Code session running so you can test the startup boundary.
  • Switch to the second account in Janus and confirm the menu-bar email changes.
  • Start a separate, fresh Claude Code process and run /usage.
  • Check that the fresh process aligns with the second account's figures in Janus.
  • Return to the process that stayed open. It should still behave as the first account's session because it loaded those credentials at startup.
  • Switch back, restart again, and repeat the identity and usage checks before trusting the flow with billable work.

The goal is not to prove that a button changed color. It is to prove that the account selected in Janus is the one used by the next process, while the existing process remains unchanged.

Know whether a usage reading is remembered or fetched

Janus can show a correct old reading, which is different from a current reading. Claude Code writes usage into its settings while an account is active. When you switch away, that saved value stops moving. Version 1.1.0 labels the source so you can tell a remembered reading from one fetched from Anthropic.

Pressing Refresh asks for current usage once per saved account. For a parked account, Janus can renew an expired access token first and stores the replacement credentials before it uses them. For the account currently signed in, Janus does not renew the token because a running Claude Code process may still be holding it. Claude Code keeps that live token fresh itself.

Reset countdowns now tick while the Janus window is open. When a limit window turns over, the old percentage is cleared and a fetch is triggered. Until a fresh reading arrives, Janus shows a dash rather than guessing. That distinction matters when you are deciding whether the intended work account has room for a long session.

Architectural comparison of remembered and fetched Claude Code usage readings
A remembered figure describes the last saved moment. Refresh asks Anthropic, while a reset clears the expired reading until a fresh result arrives.

There is one documentation inconsistency in the tagged v1.1.0 repository. The README, release notes and source code describe usage requests to Anthropic, but the tagged SECURITY.md still says the app makes no network requests. The code sends usage requests to api.anthropic.com and token-renewal requests to platform.claude.com. Treat the source and the newer release notes as the operative behavior until that security page is corrected.

Six workflows where the switch pays for itself

The best fit is not someone collecting spare accounts. It is an operator with a legitimate reason to keep two identities separate on one Mac.

RankWho benefitsExact workflowWhy it pays
1A consultant with separate personal and company-controlled Claude accountsSelect the company account, restart Claude Code, verify the email and usage, then open the client repositoryIt reduces the chance that paid client work runs against a personal identity or allowance
2An engineer who uses an employer account at work and a personal account for side projectsSave both once, switch at the menu bar when changing contexts, then launch a new terminal sessionThe account boundary becomes an explicit launch step instead of a browser-login interruption
3A small agency owner who personally controls distinct internal accountsCheck which account has the appropriate project context and current usage, switch, restart and verify before a long agent runIt makes account choice visible before a costly or sensitive job starts
4An on-call developer moving from personal experimentation to an urgent work incidentKeep the experimental process open, switch Janus to the work account, then launch a separate Claude Code process for the incidentThe old process remains stable while the urgent session starts under the intended work identity
5An open-source maintainer who keeps community work separate from commercial workUse one saved login for public projects and another for paid work, with a repository-opening checklist after each restartIt creates a repeatable boundary without pretending that folders alone control authentication
6A heavy Claude Code user comparing account headroom before scheduling a long taskRefresh Janus, reject remembered figures when freshness matters, then choose the authorized account with the right current allocationIt turns usage freshness into part of job planning instead of a surprise mid-session

Do not use account switching as a way to share credentials or evade a plan limit. The useful pattern is separation among accounts you are authorized to control.

Two products worth building around this gap

Best bet: an account-safe cross-platform launcher

Build a launcher that binds a repository to an approved Claude identity, shows that identity before startup, and opens a fresh Claude Code process only after the user confirms it. The paying user is a consultant, agency operator, or mixed personal-and-work developer who cares more about avoiding the wrong account than shaving another click.

The demand is small but unusually direct. In the United States, claude code multiple accounts records about 90 searches a month, a keyword difficulty of 0 and a $19.94 cost per click. Another 10 searches a month are specifically for claude code multiple accounts windows. Janus is macOS-only, so Windows and Linux are an obvious product gap.

The smallest sellable version needs an operating-system credential-vault adapter, a repository-to-account map, a clear active-account badge and a launch wrapper. It does not need a team dashboard at first. The catch is severe: authentication files and token flows belong to another product and can change, while mishandling them creates a security incident. That risk is also why a trustworthy launcher can earn money.

This is the strongest opportunity. The search volume is lower than general usage-limit demand, but the problem, buyer and missing platform are sharply defined.

A usage provenance and reset monitor

Build a local monitor that always labels each reading by account, source and fetch time, then alerts before a scheduled coding job runs into a reset boundary. A solo power user might buy the personal version; an engineering team might pay for a policy layer that never exports raw credentials.

claude code usage limits records about 1,000 US searches a month, with a $12.71 cost per click. claude code usage limits check adds another 10. The demand is larger than account switching because limit anxiety affects almost every paid user.

The MVP is a menu-bar view, explicit remembered and fetched states, reset timers and a pre-launch warning. The catch is upstream dependence. Janus v1.1.0 uses Claude's OAuth usage and renewal endpoints, and those interfaces can change. A durable product needs graceful failure, no invented numbers, and a fast maintenance loop.

The limits are part of the decision

Janus is useful only if you are comfortable letting an unaffiliated local app move authentication material. Its saved tokens live in the login Keychain under the Janus service. Its settings snapshots live under ~/Library/Application Support/Janus/ with owner-only permissions, but those snapshots can include project paths and history. The security note also says its /usr/bin/security call briefly exposes the credential payload as a hex process argument to the same macOS user and to root.

The app is macOS-only, not sandboxed, ad-hoc signed and not notarized. Each update may prompt for Keychain access again because its ad-hoc signature can change. Usage fetching introduces network behavior that the tagged security page has not yet caught up with. None of this proves the app is unsafe. It does mean that convenience is not enough reason to install it on a shared, unmanaged, or high-risk Mac.

Janus also has a developer-cache cleanup feature, but that is not required for account switching. Keep the first adoption narrow: verify the release, save two authorized accounts, test the startup boundary, and leave cache cleanup for a separate decision.

The Monday move

Pick two accounts you control, download the pinned v1.1.0 release and its checksum manifest, and test the checklist in a disposable repository. Record the active email and usage before and after the switch. Confirm that a newly started Claude Code process changes account while the process you left running does not. Only then make Janus part of the routine you use before client work.

How do I use Janus for Claude Code?

Install the RamitVishwakarma/Janus macOS app after reviewing its trust tradeoffs. Save the currently signed-in Claude Code account, sign out and sign in once with the second account, save that account, select the account you want, then restart Claude Code. Confirm the Janus menu-bar email and compare /usage in the fresh session before starting work.

Can Claude Code use multiple accounts?

Claude Code uses one active local credential set at a time. Janus saves more than one account's credential-and-settings pair and restores the selected pair for the next Claude Code process. It does not merge subscriptions or make one running process change identity.

Does Janus work with Claude Code on Windows?

No. Janus v1.1.0 requires macOS 13 or later and depends on macOS Keychain and application-support paths. The release is universal for Apple silicon and Intel Macs, but there is no Windows build.

How do I check Claude Code usage limits?

Run /usage in the Claude Code session and compare it with Janus. In Janus, read the source label: a remembered figure comes from saved settings, while a fetched figure came from Anthropic. Press Refresh when freshness matters, and expect a dash after a reset until a new reading arrives.

If you want an account-safe launcher or usage workflow built for your team, I can help design and automate it.

Last Updated
Sep 28, 2026
Category
Build

Prefer this site in Google

Add omidsaffari.com as a preferred source in Google Search

Mark omidsaffari.com as preferred and Google lifts it in Top Stories, AI Overviews and AI Mode for you.

Newsletter

One letter, every Sunday.Working systems, not hot takes.

Weekly. No spam. Unsubscribe anytime.