Show HN: Claude-account – switch Claude Code accounts without logging in again
37 points by hamza_rehman 7 hours ago | 22 comments
I use separate Claude Code accounts for work and personal projects. Having to log out and go through the login flow every time I switched accounts became annoying, so I built a small CLI to solve it.

The commands are intentionally simple:

claude account add myworkaccount claude account add mypersonalaccount claude account use myworkaccount claude account current

After switching, Claude Code works normally:

claude claude "fix this bug in main.py" Repository: https://github.com/hamzarehmandeveloper/claude-account

Give it a try


carloslfu 4 hours ago
appreciate you building this! I have two Claude max accounts. The way I do it is that I have two app launchers (claude desktop). I use the desktop app and a different data directory for each launcher like `open -n -a /Applications/Claude.app --args --user-data-dir="<its profile directory>"`. I got my first Claude to make me two different launchers for the two apps, and it's been working perfectly. wdyt?

The only problem I've noticed is with Claude in Chrome. It seems to not work well in the second account. And this makes sense because it was designed just for one app. Do you find yourself having the same problem with this setup? have you tried the second one with the Claude in Chrome ext?

reply
pandoro 5 hours ago
I use this: https://gist.github.com/KMJ-007/0979814968722051620461ab2aa0...

Simple and works great but requires one alias per account

reply
cowlby 5 hours ago
This is great. My enhancement was to create a .claude-profile file which specifies the account alias. "claude" can be aliased to read the file, set the correct env var, and launch claude.

Another benefit was if no .claude-profile file exists, claude refuses to launch.

reply
orliesaurus 5 hours ago
simple and easy - thank you
reply
dotancohen 5 hours ago
Does it share the global ~/.claude/CLAUDE.md file? For some use case I'd like that, for others it could be problematic.
reply
cute_boi 5 hours ago
Do you expect vibe-coded slop to care about such things? Also, there's already another app, https://github.com/realiti4/claude-swap, which is also vibe-coded, but it's maintained and tested.
reply
dotancohen 4 hours ago

  > Do you expect vibe-coded slop to care about such things?
I'm divorced - I no longer have any expectations. I ask.
reply
carloslfu 4 hours ago
thanks for sharing this one!
reply
hmokiguess 3 hours ago
I built the same thing for myself, but I like your implementation so much better.
reply
bdemirkir 5 hours ago
Or use https://omp.sh and add multiple accounts. omp tracks usage and when limit is reached it uses the next account.
reply
AlexErrant 5 hours ago
Sadly incompatible with Claude subs.
reply
bdemirkir 4 hours ago
Subs are supported
reply
AlexErrant 2 hours ago
Doesn't this require pi, which CC famously bans you for using?
reply
pwython 4 hours ago
I use the Claude Code desktop app for work, and the CLI for personal, so I'm always logged into both accounts!
reply
baron3dl 4 hours ago
don't people get banned for doing this kind of thing?
reply
rew0rk 4 hours ago
The threat of account bans and a less than friendly appeal system does make me wary of trying it, even though this would be incredibly useful.
reply
ttoinou 2 hours ago
A lot of them also don’t get banned, right ? There are vibecoders youtubers switching accounts all the time

So what’s the differenve ?

reply
dpoloncsak 4 hours ago
If it's honestly 'One account is paid for by my employer and used as a tool for my job' and 'One account is for personal use, where I work on passion-projects and the likes' I think it's fine....? Not a lawyer but I'd assume as long as you're not using it to bypass usage limits Anthropic wouldn't even really notice or care.
reply
baron3dl 4 hours ago
not sure law matters, anthropic is draconian about bans/appeals.
reply
brentmitchell25 5 hours ago
Another way for those who use mise. You can auto-switch accounts by directory:

~/development/account1/mise.toml:

[env]

CLAUDE_CONFIG_DIR = "{{ env.HOME }}/.claude-account1"

reply
acuteaura 5 hours ago
revolutionary. you can do this with 2 lines of shell code.

i do this: https://github.com/acuteaura/universe/blob/main/overlays/cla...

reply
swyx 3 hours ago
does this also extend to codex?
reply
noobmax 2 hours ago
[dead]
reply