How to run multiple Claude Code accounts
Claude Code keeps one login per configuration directory. Give each account its own directory with CLAUDE_CONFIG_DIR and a work and a personal account can stay signed in at the same time, each with its own settings, history, and limits.
Give each account its own directory
By default Claude Code stores its settings, session history, plugins, and login under ~/.claude. The CLAUDE_CONFIG_DIR environment variable points Claude Code at a different directory. When someone asked for multiple account support in claude-code issue #24963, the Claude Code team answered with this variable, and the Claude Code authentication docs now describe the same setup.
Add one alias per account to ~/.zshrc or ~/.bashrc:
alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'
alias claude-personal='CLAUDE_CONFIG_DIR=~/.claude-personal claude'
Open a new terminal and run claude-work. Claude Code sees an empty directory, so it walks you through login and setup. Sign in with the work account. Do the same with claude-personal and the personal account. Plain claude keeps using ~/.claude, so you can also leave your main account there and add aliases only for the others.
Where each login is stored
On Linux and Windows the login is a .credentials.json file, and with CLAUDE_CONFIG_DIR set it lives in that directory. On macOS the login goes to the Keychain, and Claude Code keys the Keychain entry to the directory, so each directory reads its own entry. The docs name one exception: separate directories do not keep two Claude Console sign-ins made without an API key apart, because Claude Code stores that kind of sign-in outside the configuration directory.
Run two accounts at the same time
Each terminal reads its own directory, so you can run claude-work in one terminal and claude-personal in another. Each session uses its own login, settings, and history. Settings you want in every account, such as MCP servers or a status line, need to be set once per directory.
To confirm which account a session uses, run /status inside it. It shows the login method and the organization and email of the account in use.
See each account's session and weekly limits
Paid Claude plans have a session limit that resets every five hours and a weekly limit. Run /usage inside a session to see them for that session's account. For a claude.ai login it shows a usage bar for the current session and one for the week, each with the time until it resets. Because each alias reads its own directory, /usage in a claude-work session shows the work account and the same command in a claude-personal session shows the personal account.
Two details to keep in mind:
- The limits belong to the account. Claude Code shares them with Claude on the web, desktop, and mobile for the same account, so a long chat on claude.ai uses the same allowance.
- The breakdown under the bars, which shows what used the limits, is computed from sessions on this computer. Usage from other devices is not in it.
When a session hits a limit, Claude Code names the limit and its reset time, for example You've hit your session limit · resets 3:45pm. Open the other account's terminal to keep working while you wait.
Use accounts you hold for separate reasons
A work seat and a personal plan, or one seat per client, are ordinary reasons to hold more than one account. Creating accounts to get more usage than one plan includes is a different thing. Read your plan terms and any employer or client policy that applies to you.
Should CodexUse do this for Claude Code?
CodexUse does this for Codex today: each Codex account keeps its own Codex home, shows its headroom, and on a Mac opens in its own Codex window. It does not manage Claude Code accounts. If you would use the same thing for Claude Code, use the button below this guide, or say what you need in the GitHub discussion. We read both before deciding whether to build it.