Feature Request: Multi-Account Profile Support
Problem
Claude Code currently only supports a single authenticated account at a time. Users with multiple Claude accounts (e.g., an API-based billing account and a standard subscription account) must fully log out and re-authenticate each time they want to switch between accounts.
Use Case
Users may have multiple Claude accounts for different purposes:
- API-based pricing account (primary usage)
- Standard subscription account (backup/alternative)
- Separate work/personal contexts
When hitting usage limits on one account, users would like to seamlessly switch to another account without going through the full authentication flow each time.
Requested Feature
Add support for multiple account profiles in Claude Code, allowing users to:
- Configure multiple accounts (API keys, OAuth, subscriptions) with profile names
- Quickly switch between profiles with a command or setting
- Retain authentication state for all configured profiles
- See which profile is currently active
Example Usage
\\\bash\
claude profile add --name personal --type oauth
claude profile add --name work --type api
claude profile switch personal
claude profile list
\\
Or through settings/configuration with a simple profile switcher.
Current Workaround Limitations
Current workarounds require either:
- Manual logout/login cycle (time-consuming, loses context)
- Complex \
apiKeyHelper\scripts (only works for API keys, not OAuth/subscriptions)
Benefit
This would improve the developer experience for users managing multiple Claude accounts, whether for cost management, separate work/personal contexts, or failover when hitting rate limits.
37 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
Multiple CC profile support would be a very useful feature.
+1 This is absolutely critical!
I'm paying $100-200/month for TWO separate Claude Max subscriptions (work + personal), and the lack of native multi-account support is unacceptable for a premium product at this price point.
I need to keep my work and personal contexts completely separate. This is not optional - it's a fundamental requirement for any professional tool.
When I was using OpenCode, this worked perfectly. Then Anthropic blocked OpenCode access. Fine - I understand protecting your infrastructure. But you can't take away the solution without providing a proper alternative.
For a Claude Max subscription, I expect:
Multi-account support is table-stakes functionality for any enterprise-grade tool in 2026. Every developer managing work and personal projects needs this.
I'm not asking for complex features. I'm asking for basic account switching that has been solved by every major platform years ago.
I'm paying premium prices for what should be a premium product. I shouldn't need workarounds, hacks, or manual logout/login cycles to do something as fundamental as separating my work and personal usage.
Please prioritize this feature. Your paying customers are waiting.
This is a problem for me too (using the vs code plugin).
I have a work account (uses the console, no API limits) and a personal pro account (has limits).
When I'm logged into my work account I keep seeing "You've hit your limit", and that shouldn't happen.
Also when I log into my work account, I can use
/accountand it shows my personal account details still. That seems like a security issue - disclosure of information.There doesn't seem to be a way to logout of claude code. I tried revoking access through account settings on the claude website, and even after that I am still logged in to my personal account.
edit: It turns out that revoking access was a bad idea. Now I can't login at all. Every time I try I'm booted out again.
another edit: It looks like the best option is to use the console version of claude for auth, it has a
/logoutthat actually works. Then completely close and reopen vscode.I would like this feature too +1
Yes please, such a basic feature to have.
This should be implemented
This should be implemented, since your sales never responds and I have a personal and teams account under the same email this is impossible for me to login under my teams account.
PS: Anthropic was 10/10 in my book until this happened and I have gotten zero help paying basically 4 figures for this and I get no help and find this topic completely unanswered by the team.
This is a large pain point for me, it's made it so i cannot work on multiple projects at the same time with Claude.
I have noticed that they have added this, but the switcher ONLY shows if you have the app sized large enough for it to show
<img width="308" height="86" alt="Image" src="https://github.com/user-attachments/assets/87bb6c1e-b988-4a1a-975a-3c832faa93dc" />
This does not seem to be on the IDE like rider or visual d studio. Is this on the chat?
@jonmpoole80 apologies, forgot my use case. I need this account switching in the IDE. I use antigravity IDE which is a Visual Studio clone basically. With the IDE, there's no way to run a different account claude extension based on what repo i'm in.
It works in VSCodium with the Claude extension. When you /switch user it takes you the website and lets you choose your account (/switch user is a Claude command BTW)
@bbosreferrals yes that was in the Claude app, but when I found that is also the same time it started doing what I describe above with VSCodium.
@jonmpoole80 have you figured out how to remain logged into two separate Anthropic accounts at the same time. My understanding is if you use the /switch user command, all claude code sessions in any IDE window will use that anthropic user account. I've never been able to log into one account in one IDE project window, and another account in a separate IDE project window.
@bbosreferrals no you cannot be in as two at the same time but I have changed accounts before mid conversation with Claude, the only thing that happens there is the chat will say you cannot continue and you need to start a new one under the current logged in account.
So no I don't think you can do that even in two different instances of your IDE.
Please add account switching support to Claude Code (CLI). I use both a personal and a corporate account and currently have to log out and back in each time loosing some settings/context
+1, a simple toggle would do. lots of people use work/home accs spread
This would be very much needed. I do have work account and private account and want to use them for work and private projects. Please add this possibility. Thank you
+1 on this. I have two subscription accounts (personal Pro + work Team) and frequently switch between projects that use different accounts.
The current workflow of
claude logout→claude login→ re-authenticate in browser every single time is really disruptive, especially when jumping between projects in different terminals.A profile-based approach would be ideal:
Or even per-directory config (similar to how
.nvmrcor.envworks) so each project automatically uses the correct account:This is my biggest daily friction point with Claude Code right now.
This can _somewhat_ be achieved with the
CLAUDE_CONFIG_DIRenv variable, and using something like https://github.com/jdx/mise to keep track of what profile to use in which directories.Though it still seems to be leaking some claude files outside the
CLAUDE_CONFIG_DIR, see https://github.com/anthropics/claude-code/issues/30372, https://github.com/anthropics/claude-code/issues/24479 and https://github.com/anthropics/claude-code/issues/1455.This is absolute necessary feature for claude coder
A must have! Without this feature I basically have stopped using my personal account, which just leads me to using tools from other AI companies for my personal account. I no longer am getting any value out of the personal subscription I paid for.
Please implement this feature ASAP
I had this exact problem with multiple pro subs and API keys and got tired of the logout/login cycle, so I built a tool that handles it externally.
AI Switcher -
aisw- manages named credential profiles for Claude Code by settingCLAUDE_CONFIG_DIRto per-profile directories. Each profile holds its own.credentials.jsonand Claude Code reads from it natively. Supports both OAuth and API key auth.It also supports Codex CLI (via
CODEX_HOME) and Gemini CLI with the same commands. No proxying, no network calls, no quota checking. Single Rust binary, no runtime deps. Backups credentials before every switch.Still early, feedback welcome.
I built CCM (Claude Code Manager) to solve exactly this — it's been working well for me across 3 accounts (personal Pro + 2 Team).
It does what this issue describes (
claude profile add/switch/list) and more:ccm switch 2orccm switch work— switch by number, alias, or emailccm bind ~/Projects work— bind a directory to an accounteval "$(ccm hook)"in your shell profile — auto-switches account when youcdinto a bound directoryccm list— shows all accounts with last-used timestamps, usage counts, and health statusCredentials are stored in macOS Keychain (or encrypted files on Linux), swapped atomically to prevent corruption.
It's a single bash script with no runtime dependencies beyond bash 4.4+ and jq:
curl -fsSL https://raw.githubusercontent.com/dr5hn/ccm/main/install.sh | bashAs others have mentioned here and in other threads, it can be accomplished with
CLAUDE_CONFIG_DIRenvironment variable. I wrote a 1 minute article about my minimal setup, which requires no dependency, hopefully it could be of help: articlei have one Chrome profile and multiple Claude subscription accounts. i switch accounts when one usage limit is hit.
The CLI part is annoying, but the bigger problem is Claude in Chrome state. Even if i split CLI config dirs, the browser extension state is still shared inside the same Chrome profile. So there is no real isolation for this workflow.
In my case, after account rotation, the extension side can look connected or installed but browser tools still fail until i reset the extension local state and reconnect it again. So i think multi account support here should cover both CLI auth and Chrome extension state. Otherwise the main daily pain is still there for people who use one browser profile and rotate between work and personal accounts.
For anyone hitting this in the meantime, I maintain a community CLI that covers the workflow described here:
@sirtheo/claude-switch(not affiliated with Anthropic, I'm the author).It does atomic OAuth/API-key swaps in
~/.claude.json, keeps tokens in the OS keychain, and supports per-terminal isolated profiles so two accounts can run in parallel. Also handles the Max/Pro rate-limit case via API-key fallback with auto-revert when the window resets.Sharing in case it helps until native multi-account support lands.
As already stated multiple times this is a really annoying issue and it is becoming more so - I work as a consultant and more and more of our customers are using claude accounts where we should be doing our work and having to make these shifts programatically, manually or by having claude.ai open with one account while using another on the desktop/claude-code is a real pain.
Essentially I want your to extend the section which is already there
<img width="277" height="335" alt="Image" src="https://github.com/user-attachments/assets/1458f27c-9652-4e14-970b-3d8b2e994118" />
To allow for multiple accounts.
For those of us running two Max plans, the main thing I built
aistatfor is flipping the live account in one command, with no browser round-trip — it rewrites theClaude Code-credentialskeychain item in place:With no argument it auto-picks whichever account has the most 5-hour headroom;
--to workis explicit. Checking usage is the secondary half —aistat -hshows where each stored account stands so you can decide before switching:Disclosure: I built it. It's not as feature-rich as CCM on the Claude side, but it's a single static binary and also covers Codex and Copilot.
https://github.com/drogers0/aistat
If someone needs really isolated Claude Code profiles you can check my solution https://github.com/yarikleto/claude-profile
Workaround that works today: a
/proceedcommand that moves the live conversation to a second Max account, even while rate limited (macOS, terminal CLI)I have two separate Max subscriptions (two claude.ai accounts, both paid by me) and got conversation-preserving switching working without any changes to Claude Code itself. Tested on macOS with the native CLI.
Three building blocks make it possible:
CLAUDE_CONFIG_DIRgives each profile its own credentials on macOS, so two profiles stay logged in simultaneously (~/.claudeand~/.claude-2).<profile>/projects/<cwd-slug>/<session-id>.jsonl) and are not account-bound. Copy the file to the other profile andclaude --resume <session-id>continues the same conversation there.UserPromptSubmithook still fires while the account is rate limited. That is the loophole that makes an in-session switch command possible.The flow: you hit the usage limit mid-conversation, type
/proceed, the hook records the session and terminates the app, and a small shell wrapper relaunches the exact same conversation under the other profile about a second later. Works in both directions, so you can bounce back when the second account runs out too.<details>
<summary><b>1. zsh wrapper + aliases (~/.zshrc)</b></summary>
</details>
<details>
<summary><b>2. UserPromptSubmit hook script (~/.local/bin/claude-proceed-hook, chmod +x)</b></summary>
</details>
<details>
<summary><b>3. /proceed slash command (commands/proceed.md in BOTH profile dirs)</b></summary>
</details>
<details>
<summary><b>4. Hook registration (settings.json in BOTH profile dirs)</b></summary>
</details>
Setup: create the files, then run
claude2once and log in with the second account (use a private browser window, otherwise the OAuth flow auto-selects the account your browser is already signed into). After that both profiles stay authenticated.Limitations, so nobody mistakes this for native failover:
/proceedonly relaunches when the session was started through the wrapper aliases. Otherwise the app just exits and you resume manually (copy the jsonl,claude --resume).Native profile support with automatic failover would make all of this obsolete, and I would happily delete it. Until then, hope this helps someone.
I've been following account/profile requests in Claude Code for a while, and I think they're all pointing at the same underlying problem. This isn't really just about making login/logout easier. Many of us juggle work, personal, and client accounts, often across different organizations, subscriptions, and auth methods.
I've been maintaining AI Switcher (aisw) because I kept running into the same issue not only in Claude Code, but also in Codex CLI and Gemini CLI:
https://github.com/burakdede/aisw
Not suggesting it as a replacement for native support. If anything, building it convinced me that this is becoming a common workflow across coding agents.
What I've learned is that users usually need more than account switching:
Recently I added "contexts" (bundles of profiles) and it reinforced my belief that the bigger problem is identity and context management rather than account switching alone.
Would love to see first-class support for this area in Claude Code.
For anyone hitting this before native switching lands — you can already run each account as its own isolated desktop instance today. On macOS:
Point
CLAUDE_CONFIG_DIRat a folder inside that data dir as well, so Claude Code state (sessions/auth) doesn't bleed between accounts. Each instance is then fully separate — personal in one window, work in another — and you can keep them open side by side instead of logging out. (Windows: same idea, pass--user-data-dirto the Claude executable.)One gotcha worth knowing: relaunching the same data-dir can spawn a duplicate instance and risk profile corruption, so it's safer to detect an already-running instance (match on the
--user-data-dir) and focus that window instead of opening a new one.I got tired of doing this by hand and packaged it into a tiny no-Terminal app (Mac + Windows, auto-detects + focuses a running instance, full source included): https://deckspace.dev/claude-accounts/ — but the manual recipe above works fine if you'd rather wire it up yourself. To be clear, this is for multiple accounts you own, not account sharing.
Until the official update drops, you can still run Claude in your terminal and use the Claude app with two different accounts.
Adding a concrete pain point beyond profile switching: because the OAuth session is a single global credential (~/.claude.json + keychain), switching accounts in the UI kills all in-flight requests in every running session, not just the one you switched in. If you work across two accounts, you can't have sessions on both active at once — switching to answer something on account B aborts whatever account A's sessions were doing mid-turn.
The
CLAUDE_CONFIG_DIRworkaround (separate config dir per account, aliased per terminal) does work, but it's undocumented and forks all state — settings, session history, MCP config — when the only thing that actually needs isolating is the credential.Request: per-session (or at least per-window/per-config-scope) credential binding, so a session keeps the identity it started with and account switching elsewhere doesn't interrupt it. Something like
gh auth switchsemantics where existing processes are unaffected.I switch between a personal Claude account and a separate client organization's account for consulting work. Right now that means a full
claude logout,claude logincycle every time, which… you know, sucks 😉+1 on named profile support along the lines proposed here:
Would also be happy with something lighter-weight, like first-class support for pointing at a
CLAUDE_CONFIG_DIRper invocation, or a project specific.claude/*setting mechanism that announces "this project should use claude account B", without needing an external alias/script — but a realprofile switchcommand would be the cleanest fix.