Feature Request: Multi-Account Profile Support

Open 💬 37 comments Opened Jan 22, 2026 by whykusanagi

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.

View original on GitHub ↗

37 Comments

github-actions[bot] · 5 months ago

Found 3 possible duplicate issues:

  1. https://github.com/anthropics/claude-code/issues/18435
  2. https://github.com/anthropics/claude-code/issues/19722
  3. https://github.com/anthropics/claude-code/issues/261

This issue will be automatically closed as a duplicate in 3 days.

  • If your issue is a duplicate, please close it and 👍 the existing issue instead
  • To prevent auto-closure, add a comment or 👎 this comment

🤖 Generated with Claude Code

benadam11 · 5 months ago

Multiple CC profile support would be a very useful feature.

kaluchi · 5 months ago

+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:

  • Professional-grade account management - not having to log out and log back in multiple times per day
  • Work/personal separation - built-in, not as an afterthought
  • Seamless switching - like every other modern SaaS tool (Slack, Chrome, VS Code)
  • Context preservation - without losing my session state

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.

talldan · 5 months ago

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 /account and 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 /logout that actually works. Then completely close and reopen vscode.

mattiLeBlanc · 5 months ago

I would like this feature too +1

rutgersc · 5 months ago

Yes please, such a basic feature to have.

thefenry · 4 months ago

This should be implemented

jonmpoole80 · 4 months ago

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.

bbosreferrals · 4 months ago

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.

jonmpoole80 · 4 months ago
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.

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" />

thefenry · 4 months ago
> 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. 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?

bbosreferrals · 4 months ago

@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.

jonmpoole80 · 4 months ago
> > 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. > > > 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 alt="Image" width="308" height="86" src="https://private-user-images.githubusercontent.com/96305787/557046469-87bb6c1e-b988-4a1a-975a-3c832faa93dc.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzI0NzU5NTksIm5iZiI6MTc3MjQ3NTY1OSwicGF0aCI6Ii85NjMwNTc4Ny81NTcwNDY0NjktODdiYjZjMWUtYjk4OC00YTFhLTk3NWEtM2M4MzJmYWE5M2RjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMDIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzAyVDE4MjA1OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWM3ZDU1YzQ4YzUzYmQ2MzE4NDI5OTkyOWI4NmNhZGFiNzBkZGJkNWM0NGEzZGU2NWQ2ZTk5ODMzZWZiNjU0NDYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.1xe5JRdFNCnt3E6VxQYWP9X2hObTkr3jiRzH6M-hHUA"> This does not seem to be on the IDE like rider or visual d studio. Is this on the chat?

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.

bbosreferrals · 4 months ago
> > > 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. > > > > > > 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 alt="Image" width="308" height="86" src="https://private-user-images.githubusercontent.com/96305787/557046469-87bb6c1e-b988-4a1a-975a-3c832faa93dc.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzI0NzU5NTksIm5iZiI6MTc3MjQ3NTY1OSwicGF0aCI6Ii85NjMwNTc4Ny81NTcwNDY0NjktODdiYjZjMWUtYjk4OC00YTFhLTk3NWEtM2M4MzJmYWE5M2RjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMDIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzAyVDE4MjA1OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWM3ZDU1YzQ4YzUzYmQ2MzE4NDI5OTkyOWI4NmNhZGFiNzBkZGJkNWM0NGEzZGU2NWQ2ZTk5ODMzZWZiNjU0NDYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.1xe5JRdFNCnt3E6VxQYWP9X2hObTkr3jiRzH6M-hHUA"> > > > This does not seem to be on the IDE like rider or visual d studio. Is this on the chat? 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.

jonmpoole80 · 4 months ago

@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.

15august · 4 months ago

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

poloniumcube · 4 months ago

+1, a simple toggle would do. lots of people use work/home accs spread

Kibo007 · 4 months ago

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

repo-phuocdt · 4 months ago

+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 logoutclaude 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:

claude --profile personal
claude --profile work

Or even per-directory config (similar to how .nvmrc or .env works) so each project automatically uses the correct account:

# ~/work-project/.claude/profile
account=work

# ~/personal-project/.claude/profile
account=personal

This is my biggest daily friction point with Claude Code right now.

BenjaBobs · 4 months ago

This can _somewhat_ be achieved with the CLAUDE_CONFIG_DIR env 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.

dkleecle · 4 months ago

This is absolute necessary feature for claude coder

brandonrosamond · 3 months ago

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.

emrecamasuvi · 3 months ago

Please implement this feature ASAP

burakdede · 3 months ago

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 setting CLAUDE_CONFIG_DIR to per-profile directories. Each profile holds its own .credentials.json and Claude Code reads from it natively. Supports both OAuth and API key auth.

aisw init                    # detects tools, sets up shell hook, imports existing creds
aisw add claude work         # launches claude login, stores creds in profile dir
aisw add claude personal     # second account
aisw use claude personal     # shell hook exports CLAUDE_CONFIG_DIR, instant switch
aisw status                  # shows what's active

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.

dr5hn · 3 months ago

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 2 or ccm switch work — switch by number, alias, or email
  • ccm bind ~/Projects work — bind a directory to an account
  • eval "$(ccm hook)" in your shell profile — auto-switches account when you cd into a bound directory
  • ccm list — shows all accounts with last-used timestamps, usage counts, and health status

Credentials 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 | bash

yamanidev · 3 months ago

As others have mentioned here and in other threads, it can be accomplished with CLAUDE_CONFIG_DIR environment variable. I wrote a 1 minute article about my minimal setup, which requires no dependency, hopefully it could be of help: article

dorukardahan · 3 months ago

i 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.

SIRTHEO · 2 months ago

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.

mbruhn · 1 month ago

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.

drogers0 · 1 month ago

For those of us running two Max plans, the main thing I built aistat for is flipping the live account in one command, with no browser round-trip — it rewrites the Claude Code-credentials keychain item in place:

$ aistat switch
switched to work@example.com (uuid 5e9c1a47-3b8f-42d1-a6e0-7c2f9b4d8e13); was personal@example.com

With no argument it auto-picks whichever account has the most 5-hour headroom; --to work is explicit. Checking usage is the secondary half — aistat -h shows where each stored account stands so you can decide before switching:

$ aistat -h
Claude usage
- personal@example.com (active) [Max 5x]
  - 5-hour: 92.0% (resets in 4h 53m)
  - 7-day: 71.0% (resets in 2d 5h)
- work@example.com [Max 20x]
  - 5-hour: 4.0% (resets in 4h 12m)
  - 7-day: 12.0% (resets in 5d 9h)

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

yarikleto · 1 month ago

If someone needs really isolated Claude Code profiles you can check my solution https://github.com/yarikleto/claude-profile

MihailNaumoski · 1 month ago

Workaround that works today: a /proceed command 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:

  1. CLAUDE_CONFIG_DIR gives each profile its own credentials on macOS, so two profiles stay logged in simultaneously (~/.claude and ~/.claude-2).
  2. Transcripts are local jsonl files (<profile>/projects/<cwd-slug>/<session-id>.jsonl) and are not account-bound. Copy the file to the other profile and claude --resume <session-id> continues the same conversation there.
  3. Hooks run locally before the API call, so a UserPromptSubmit hook 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>

claude-run() {
  local cfg="$1"; shift
  local marker="$HOME/.claude-switch"
  rm -f "$marker"
  while true; do
    if [[ -n "$cfg" ]]; then
      CLAUDE_CONFIG_DIR="$cfg" command claude "$@"
    else
      command claude "$@"
    fi
    [[ -f "$marker" ]] || break
    local sid="$(sed -n 1p "$marker")"
    local tpath="$(sed -n 2p "$marker")"
    rm -f "$marker"
    [[ -n "$sid" && -f "$tpath" ]] || break
    local target
    if [[ "$tpath" == "$HOME/.claude-2/"* ]]; then
      cfg=""
      target="$HOME/.claude/${tpath#$HOME/.claude-2/}"
    else
      cfg="$HOME/.claude-2"
      target="$HOME/.claude-2/${tpath#$HOME/.claude/}"
    fi
    mkdir -p "${target:h}"
    cp "$tpath" "$target"
    set -- --resume "$sid"
    echo ">> /proceed: continuing this conversation on the other account..."
  done
}
alias claude='claude-run ""'
alias claude2='claude-run "$HOME/.claude-2"'

</details>

<details>
<summary><b>2. UserPromptSubmit hook script (~/.local/bin/claude-proceed-hook, chmod +x)</b></summary>

#!/bin/sh
# Catches /proceed locally (works while rate limited), records the session,
# and terminates the app so the shell wrapper relaunches it on the other profile.

input=$(cat)

case "$input" in
  *CLAUDE_SWITCH_ACCOUNT_NOW*) ;;
  *'"prompt":"/proceed"'*) ;;
  *) exit 0 ;;
esac

sid=$(printf '%s' "$input" | sed -n 's/.*"session_id":[[:space:]]*"\([^"]*\)".*/\1/p')
tpath=$(printf '%s' "$input" | sed -n 's/.*"transcript_path":[[:space:]]*"\([^"]*\)".*/\1/p')

printf '%s\n%s\n' "$sid" "$tpath" > "$HOME/.claude-switch"
echo "Switching this conversation to the other account..." >&2

pid=$PPID
found=""
i=0
while [ -n "$pid" ] && [ "$pid" -gt 1 ] 2>/dev/null && [ "$i" -lt 10 ]; do
  comm=$(ps -o comm= -p "$pid" 2>/dev/null)
  case "$comm" in
    *claude*|*node*) found="$pid"; break ;;
  esac
  pid=$(ps -o ppid= -p "$pid" 2>/dev/null | tr -d ' ')
  i=$((i+1))
done

[ -n "$found" ] && ( sleep 0.5; kill -TERM "$found" ) >/dev/null 2>&1 &

exit 2

</details>

<details>
<summary><b>3. /proceed slash command (commands/proceed.md in BOTH profile dirs)</b></summary>

---
description: Continue this conversation on the other Claude Max account (works while rate limited)
---
CLAUDE_SWITCH_ACCOUNT_NOW

</details>

<details>
<summary><b>4. Hook registration (settings.json in BOTH profile dirs)</b></summary>

"hooks": {
  "UserPromptSubmit": [
    {
      "hooks": [
        {
          "type": "command",
          "command": "$HOME/.local/bin/claude-proceed-hook",
          "timeout": 10
        }
      ]
    }
  ]
}

</details>

Setup: create the files, then run claude2 once 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:

  • Terminal CLI only. The desktop app and IDE extensions hold a single login.
  • The switch is one keystroke, not zero. There is no hook event for "rate limit hit", so fully automatic failover is impossible from the outside. That part still needs native support, which is what this issue is asking for.
  • /proceed only relaunches when the session was started through the wrapper aliases. Otherwise the app just exits and you resume manually (copy the jsonl, claude --resume).
  • Settings, MCP servers, and history are per profile and do not sync.

Native profile support with automatic failover would make all of this obsolete, and I would happily delete it. Until then, hope this helps someone.

burakdede · 1 month ago

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:

  • named profiles
  • visible active identity
  • project-to-profile binding
  • isolated work/personal/client contexts
  • fast switching without re-authentication

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.

# Save a cross-tool context when profile names differ
aisw context create acme \
  --claude acme-claude \
  --codex acme-codex \
  --gemini acme-gemini

# Switch
aisw use claude work
aisw use --all --profile personal    # switch all tools at once
aisw context use acme

Would love to see first-class support for this area in Claude Code.

Samic333 · 17 days ago

For anyone hitting this before native switching lands — you can already run each account as its own isolated desktop instance today. On macOS:

open -n -a "Claude.app" --args --user-data-dir="$HOME/.claude-work"

Point CLAUDE_CONFIG_DIR at 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-dir to 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.

emrecamasuvi · 14 days ago

Until the official update drops, you can still run Claude in your terminal and use the Claude app with two different accounts.

erohmensing · 12 days ago

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_DIR workaround (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 switch semantics where existing processes are unaffected.

prometheas · 6 days ago

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 login cycle every time, which… you know, sucks 😉

+1 on named profile support along the lines proposed here:

# add profiles
claude profile add --name personal
claude profile add --name client-org

# list added profiles
claude profile list

# switch default profile
claude profile switch client-org

# launch a claude session with an explicit profile
claude --profile client-org

Would also be happy with something lighter-weight, like first-class support for pointing at a CLAUDE_CONFIG_DIR per 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 real profile switch command would be the cleanest fix.