Switch and concurrently run multiple Claude Code (CLI) accounts on Windows — from the system tray.
Claude Account Switcher lives in the Windows system tray and manages multiple Claude Code (CLI) login accounts. Each account is kept as an isolated profile; switch the active account with one click, or run several accounts side by side in parallel.
- Switch — make any saved account the active one with a single click. Your usual
claudecommand then runs as that account. - Concurrent — give each account its own isolated config folder and run different accounts in different terminals at the same time, with no conflicts.
Claude Code stores its login in ~/.claude/.credentials.json (OAuth token) and the account info
(email, plan…) in ~/.claude.json (oauthAccount). This app keeps these per profile:
- Switch copies the selected profile's
.credentials.jsoninto~/.claude/and patches theoauthAccountin~/.claude.jsonsoclaude /statusshows the right account. (The current credentials are backed up first, and the account you switch away from keeps its refreshed token.) - Concurrent launches a new terminal with
CLAUDE_CONFIG_DIR=<profile folder>, so it never touches~/.claudeand accounts stay isolated.
Profile data lives in %APPDATA%\ClaudeAccountSwitcher\ (not committed to the repo).
- System-tray resident, dark themed UI, custom window chrome.
- Capture the currently logged-in account, add a new account (isolated login), switch, rename, delete.
- Launch a profile in a new terminal in a chosen folder.
- Session usage at a glance — each account shows its remaining 5-hour session limit with a reset countdown. When the weekly limit is used up it shows 0% with the time until the weekly reset (since a full 5-hour window can't be used while the weekly cap is exhausted).
- Keep session alive (per-account toggle) — the moment an account's 5-hour window resets, the app sends a tiny headless message so a fresh window starts right away. Runs while the tray app is resident.
- Resume sessions across accounts — browse any account's past Claude Code conversations and continue one under a different account (opens a copy, so the original stays put).
- Account status line — when running an account concurrently, claude shows a bottom status line with the account email · plan · name · live session %.
- Re-login without losing the profile — when a plan or subscription changes (or a token expires), Re-login re-authenticates in place: the stored credentials are backed up and the isolated window opens straight on the sign-in screen. Accounts whose token can no longer be refreshed are shown as "Re-login required" instead of Active, in both the list and the tray menu.
- Run options: choose PowerShell or cmd, optionally run as administrator (Windows shows a
UAC prompt each time), and decide whether to pass
--dangerously-skip-permissions(with an optional don't ask again that remembers your choice — reset it any time in Settings). Applies to Explorer right-click launches too. - Optional Explorer right-click "Run with Claude" submenu (per account).
- Start with Windows (autostart).
- Automatic updates — checks GitHub Releases on startup (and on demand from the tray menu) and offers to download & install a newer version.
- 14 UI languages, auto-detected from your Windows display language (English, 한국어, 日本語,
简体中文, 繁體中文, Español, Français, Deutsch, Português, Русский, Italiano, Türkçe, Tiếng Việt,
Bahasa Indonesia). Each is a self-describing
Localization/<culture>.jsondiscovered at runtime — adding a language is just dropping in a new JSON file.
Right-click any folder in Explorer → Run with Claude → pick an account. It opens a terminal
in that folder running claude as the chosen account (no switching needed):
Tray menu (quick switch & toggles) · Settings
winget install akon47.ClaudeAccountSwitcherDownload Claude-Account-Switcher-Setup_vX.Y.Z-x64.exe from the
Releases page and run it.
It's a self-contained, per-user installer (%LOCALAPPDATA%\Programs, no admin, ~54 MB).
Requires the .NET 9 SDK. NSIS (makensis) is needed only to build the installer.
dotnet build Claude-Account-Switcher.csproj -c Debug # build
dotnet run --project Claude-Account-Switcher.csproj # run (tray)
powershell Installer\build-installer.ps1 # build installer -> dist\Claude-Account-Switcher-Setup_vX.Y.Z-x64.exeReleases are automated with GitHub Actions:
build— compiles on every push / PR tomain.bump-version(manual) — bumps<Version>in the csproj, commits, and pushes avX.Y.Ztag.release— on avX.Y.Ztag, builds the self-contained installer and publishes a GitHub Release withClaude-Account-Switcher-Setup_vX.Y.Z-x64.exe.winget— on a published release, opens an update PR tomicrosoft/winget-pkgs(requires aWINGET_TOKENrepo secret; seewinget/README.md).
To cut a release: run bump-version with the new version (or push a vX.Y.Z tag yourself).
- .NET 9 / WPF (Windows only), MVVM with
Microsoft.Extensions.DependencyInjection+CommunityToolkit.Mvvm. - Self-designed dark theme; system-tray via
H.NotifyIcon.Wpf.
Claude Code itself stores .credentials.json in plaintext on Windows. This app keeps per-account
credentials at the same level, under your user profile folder (%APPDATA%). DPAPI-based encryption
at rest is on the roadmap.
This is an unofficial, independent tool and is not affiliated with, endorsed by, or sponsored by Anthropic. "Claude" and "Claude Code" are trademarks of their respective owners.
The app only manages accounts you legitimately own, on your own machine, by copying local credential files and setting environment variables — it does not bypass authentication or any technical protection. You are responsible for using it in compliance with the terms of service and usage policies of any account you add (including limits on account sharing and on circumventing rate/usage limits). Use at your own risk; provided "as is" without warranty (see MIT).



