How To Run Two Claude AI Accounts Simultaneously On Mac
Most guides tell you to use environment variables. But there is a cleaner way: install Claude as two separate desktop apps, each with its own isolated config directory, and run both at the same time.
Yes, you can run two Claude accounts at the same time on a Mac. Install Claude Desktop twice as two separate apps and launch the second with its own Electron config directory using an open -n -a command with a --user-data-dir flag pointing to a separate folder such as ~/Library/Application Support/Claude-Work. For Claude Code in the terminal, point each account at a different config with the CLAUDE_CONFIG_DIR environment variable. Each install keeps its own login, history, memory, and MCP settings, so both accounts stay active in parallel with no logging out.
The problem
Claude Code stores all of its state (authentication tokens, session history, MCP server configs, memory files, and project settings) in a single directory at ~/.claude. If you have two Anthropic accounts, say a personal Pro subscription and a company Max plan, switching between them means running /login every time, which wipes the previous session.
Most workarounds online suggest aliasing the CLI with CLAUDE_CONFIG_DIR set to a different path. That works for terminal sessions, but it does not solve the desktop app problem: Claude Desktop has no built-in account switcher, and both accounts can not be active in the app at the same time.
The real solution: two app installs
The cleanest approach is to install Claude Desktop twice, as two separate .app bundles on your Mac. Each bundle carries its own Electron runtime and is treated as a completely independent application by macOS. You can name the second one anything: Claude Work, Claude 2, or whatever makes sense for your setup.
When you do this, macOS automatically gives each app its own Application Support directory. Claude Desktop picks up ~/Library/Application Support/Claude/ for the first install and ~/Library/Application Support/Claude-Work/ (or whatever you named it) for the second. Credentials, memory, sessions, and MCP configs are entirely separate between the two.
Launching the second app with the right config
The key flag is --user-data-dir, which is an Electron-level argument that tells the app which directory to use for all persistent data. To open your second Claude install and ensure it always points to its own config, run this from a terminal:
open -n -a "Claude 2" --args --user-data-dir="$HOME/Library/Application Support/Claude-Work"The -n flag forces a new instance even if an app with that name is already running. You can save this as a shell alias or a small launcher script so you never have to remember the full command.
A CLI shortcut for the work account
If you also want a terminal alias that opens a work Claude Code session (not the desktop app), add this to your ~/.zshrc or ~/.bashrc:
alias claude-work='CLAUDE_CONFIG_DIR=$HOME/.claude-work claude'The first time you run claude-work, type /login to authenticate with your work account. After that, running claude uses your personal account and claude-work uses your work account. Both can run in parallel in separate terminal tabs with no interference.
Make it a real second app: custom name and icon
Launching with a flag works, but you can go further and turn the second install into a genuinely independent app with its own name, its own Dock icon, and its own notification group. The trick most guides miss is that a Mac app is just a folder (a .app bundle), and its identity lives in a single file: Contents/Info.plist.
First, duplicate the app under a new name:
cp -R "/Applications/Claude.app" "/Applications/Claude Work.app"Then give the copy its own identity. Changing CFBundleIdentifier is the key step: without it macOS treats both apps as the same identity, so they share a Dock slot and merge notifications. Read the original id first so you do not guess it, then set new values on the copy:
defaults read "/Applications/Claude.app/Contents/Info" CFBundleIdentifierplist="/Applications/Claude Work.app/Contents/Info.plist"
/usr/libexec/PlistBuddy -c "Set :CFBundleName 'Claude Work'" "$plist"
/usr/libexec/PlistBuddy -c "Set :CFBundleDisplayName 'Claude Work'" "$plist"
/usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier 'com.anthropic.claude.work'" "$plist"Swap in your own icon by replacing the .icns the bundle references:
cp "MyIcon.icns" "/Applications/Claude Work.app/Contents/Resources/AppIcon.icns"Editing the bundle invalidates Apple's code signature, so re-sign it ad-hoc (the dash means a local, self-signed signature) and refresh the icon and Launch Services caches so macOS picks up the changes:
codesign --force --deep --sign - "/Applications/Claude Work.app"
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -f "/Applications/Claude Work.app"
killall Dock FinderNow launch it pointed at its own data directory, and you have a fully branded, fully isolated second Claude that lives in your Dock like any other app:
open -n -a "Claude Work" --args --user-data-dir="$HOME/Library/Application Support/Claude-Work"If you would rather not run these steps by hand, I wrapped the whole flow (duplicate, rename, re-icon, re-sign, refresh) into a one-command script: github.com/MelkonTech/two-claude-accounts-mac.
Troubleshooting and gotchas
Code signing: if the renamed app refuses to open or Gatekeeper blocks it, you skipped the ad-hoc re-sign in the previous step. Run the codesign command again after any edit to the bundle.
Icon will not change: newer Electron builds reference the icon from an asset catalog (Assets.car) via the CFBundleIconName key rather than a loose AppIcon.icns. If the loose-file swap does not take, set CFBundleIconFile to your .icns with PlistBuddy and delete the CFBundleIconName key, then refresh the caches again.
Updates make the copy go stale: Claude's auto-updater only updates the original Claude.app. Your renamed copy will not update itself, so re-run the duplication (or the script's update mode) after each new release to stay current.
Login goes to the wrong window: Claude authenticates through claude:// deep links, and with two instances open macOS can hand the login to the wrong one. The simplest fix is to fully quit the other app while you sign in to a fresh install.
What stays separate
Each app and each CLI alias maintains its own: authentication tokens and account session, conversation and session history, memory files and project notes, MCP server configurations, Claude Code settings and permissions, and scheduled tasks and hooks.
The only thing that is shared is the Claude Code binary itself (the CLI executable at ~/.local/bin/claude). Both accounts use the same version of the tool. Only the data directories differ.
Key Takeaways
Install Claude Desktop twice for true account isolation at the app level.
Use --user-data-dir to point each app to its own config directory.
Change CFBundleIdentifier (plus name and icon) to get a separate Dock app.
CLAUDE_CONFIG_DIR gives the same isolation to terminal CLI sessions.
Re-sign ad-hoc after editing the bundle, and re-clone after each update.
Both accounts can run simultaneously with no logout required.
Frequently asked questions
Can you run two Claude accounts at the same time on a Mac?
Yes. Install Claude Desktop as two separate app bundles, each launched with its own --user-data-dir, or use the CLAUDE_CONFIG_DIR environment variable for the Claude Code CLI. Both accounts then run in parallel with separate logins and no need to log out.
How do I switch between two Anthropic accounts without logging out?
You do not switch at all. Give each account its own isolated config directory (a second Claude Desktop install with --user-data-dir, or a different CLAUDE_CONFIG_DIR for the CLI). Each keeps its own session, so both stay logged in simultaneously.
Where does Claude store its configuration on a Mac?
Claude Code (the CLI) stores everything in ~/.claude. Claude Desktop uses ~/Library/Application Support/Claude. Pointing a second install at a different directory is what makes two accounts independent.
Can I use a personal and a work Claude account simultaneously?
Yes. Run your personal account from the default install and your work account from a second install (or a second CLI alias with its own CLAUDE_CONFIG_DIR). They share only the Claude Code binary; credentials, memory, and settings stay separate.
Can I give the second Claude app its own name and icon?
Yes. Duplicate Claude.app, rename it, and edit its Info.plist (CFBundleName, CFBundleDisplayName, and crucially CFBundleIdentifier) so macOS treats it as a separate app with its own Dock icon and notifications. Replace AppIcon.icns for a custom icon, then re-sign the bundle ad-hoc with codesign. A script that automates this is at github.com/MelkonTech/two-claude-accounts-mac.
Comments
Be the first to comment.