Multiple Claude Code and Codex accounts, one shared setup
You're signed in to Claude Code at work and want your personal account in the next terminal. clausona keeps the two sign-ins apart and lets them share one set of skills, hooks, plugins and settings. They can share conversation history too.
It's a shell hook and a few symbolic links. claude starts as fast as it does without it.
curl -fsSL https://github.com/larcane97/clausona/releases/latest/download/install.sh | bash
irm https://github.com/larcane97/clausona/releases/latest/download/install.ps1 | iex
Needs Node.js 20 or later, and Claude Code or Codex CLI. Free and open source (MIT).
-
claude:workdev@example.comOwn sign-in5h 7d
-
claude:personalme@example.orgOwn sign-in5h 7d
-
claude:clientdev@client.exampleOwn sign-in5h 7d
~/.claude. The dashed entry is shared only by accounts that merge sessions. Codex CLI works the same way with ~/.codex.What's shared, and what stays with the account
Claude Code keeps everything in one directory, ~/.claude. Codex CLI does the same with ~/.codex.
A second account normally means a second directory that starts empty.
I've been using Claude Code with a personal and a work account, and I got tired of setting up plugins and permissions for both. So I made a simple tool for it.
clausona gives every account a directory for its sign-in. It links the rest back to your main one, so you set things up once.
| Claude Code | Codex CLI | |
|---|---|---|
| Sign-in | Own | Own |
| Skills | Shared | Shared |
| Hooks | Sharedin settings.json | Sharedhooks.json |
| Plugins | Shared | Shared |
| Settings | Sharedsettings.json | Sharedconfig.toml |
| Global instructions | SharedCLAUDE.md | SharedAGENTS.md |
| MCP servers | Shared when a plugin brings themones added with claude mcp add stay with the account | Sharedconfig.toml |
| Conversation history | Own, or sharedwhen you merge sessions | Own, or sharedwhen you merge sessions |
Codex keeps memories with the account. Its app-server daemon and databases stay there too.
Merging sessions shares only the conversation history. On macOS and Linux, it also shares the thread store that indexes it.
So one account's memories never reach another account's prompts.
A shell hook and a few symbolic links
clausona sets up the account before the tool starts. After that, it has no part in the session.
There's no app to keep open and no service left running.
- What starts with
claude - The shell reads a cached launch script and runs the real binary. On an M4 Pro Mac,
claude --versiontook a median 25 ms with the hook and 25 ms without it (Claude Code 2.1.294, 15 runs each). - When clausona itself runs
- Starting clausona takes about a third of a second, so a plain
claudeorcodexlaunch skips it. It runs on the first launch after you change something, such ascsn useor a plugin install, and on every launch of an API profile.clausona runstarts it every time, routed or not. - What it installs
- One JavaScript file of about 1 MB, a hook in your shell's rc file, and symbolic links for the shared files and folders. Updates are checked against the release's SHA-256 before they replace anything.
- How to remove it
clausona uninstalltakes out the hook, the links and~/.clausona. It keeps any backups that still hold data. Account directories and their history stay where they are.
What it looks like
The recording lists the accounts with their plan usage. Then it switches to the work account, so plain claude starts signed in as it.
It switches back and opens the dashboard.
Pick up a conversation under another account
History stays with the account unless you ask to share it.
Merge sessions for an account, and its conversation history is shared with your main directory.
claude --resume then lists conversations from all the accounts that share it.
claude --continue carries on the latest one in this folder, whichever account started it.
clausona config claude:personal --merge-sessions
csn use claude:personal
claude --continue # the latest conversation in this folder
Codex works the same way on macOS and Linux. codex resume and codex resume --last find threads from the accounts that share history, goals included.
On Windows, Codex's thread store stays with the account. A thread from another account is resumed by its id.
Set up in three commands
-
Register the accounts already signed in on this machine.
clausona init -
Add another account. Claude Code's usual sign-in opens for it.
clausona add claude:work -
Pick the account. Plain
claudenow starts signed in as it, on the same setup.csn use work
Also in clausona
- Two accounts at once
clausona run claude:personalstarts one session under another account without switching. Two terminals can run two accounts side by side.- Usage for all your accounts
clausona listand the dashboard show your 5-hour and weekly limits side by side, with the time left until they reset.- Routing
clausona run --route mainstarts on an account in the route that still has quota left, and says which one it got.- Extensions
- The Extensions screen shows the skills, MCP servers and hooks each account loads in a project. You can turn one off or delete it, and undo the last change.
- API profiles
- A Claude Code profile can use the Anthropic API, a gateway such as OpenRouter, or a model you serve yourself. It switches like any account.
- Agents on different accounts
- Parallel agents can run on different accounts, or on an API model such as DeepSeek. Start them in Superset, herdr, Orca or tmux. In each of the three, a plugin lets one Claude Code or Codex session plan the work and route it by your rules. How it works.
- macOS, Linux and Windows
- zsh and bash on macOS and Linux, and PowerShell 5.1 or later on Windows.
Guides
- How to use multiple Claude Code accounts on one machineLinking it by hand with CLAUDE_CONFIG_DIR, and what to leave out.
- How to use multiple Codex CLI accountsOne CODEX_HOME per account, and the files that must not be shared.
- Run parallel Claude Code agents on different accounts and modelsAgents you can watch and steer on different accounts, or on an API model such as DeepSeek.
- Run parallel Claude Code and Codex agents in herdrOne session splits the job across herdr panes, each on its own account.
- Run parallel Claude Code and Codex agents in OrcaOne session splits the job across Orca worktrees, each on its own account.
- See which skills, MCP servers and hooks Claude Code loads, and turn them offWhat each account loads in a project, and how to turn one off or undo it.
- Claude Code와 Codex 계정 여러 개를 동시에 쓰는 법스킬, hook, 대화 기록까지 공유하면서 계정을 나누는 방법.
- Claude Code 에이전트를 여러 계정과 모델로 병렬 실행하기에이전트마다 다른 계정이나 DeepSeek 같은 API 모델을 쓰는 방법. 어느 터미널에서든 됩니다.
- herdr에서 Claude Code와 Codex 에이전트를 계정별로 병렬 실행하기세션 하나가 herdr 창마다 다른 계정으로 작업을 나눠 맡깁니다.
- Orca에서 Claude Code와 Codex 에이전트를 계정별로 병렬 실행하기세션 하나가 Orca worktree마다 다른 계정으로 작업을 나눠 맡깁니다.
- Claude Code와 Codex가 불러오는 스킬, MCP 서버, hook 확인하고 끄기계정마다 프로젝트에서 무엇을 불러오는지 보고, 끄거나 되돌리는 방법.
Questions
Can I use two Claude Code accounts on one machine?
Yes. Claude Code keeps one sign-in per config directory. clausona gives every account a directory and links skills, hooks, plugins and settings back to your main ~/.claude, so you set them up once. clausona add claude:work adds an account, and csn use work switches to it.
Can I continue a conversation under another account?
Yes, once the accounts share history. Turn that on with clausona config <profile> --merge-sessions. Then claude --resume and claude --continue see conversations from all the accounts that share it. So does codex resume on macOS and Linux.
Is my sign-in shared between accounts?
No. Credentials stay with their account. MCP servers added with claude mcp add live in that account's own .claude.json, so they stay with the account too.
Does clausona switch accounts when one reaches its limit?
A running session never moves to another account. With a route, clausona picks the account when a run starts. clausona run --route main gets one that still has quota left. clausona use and clausona run <profile> leave the choice to you. Keep the accounts to what they're for, such as work and personal use, within Anthropic's and OpenAI's terms.
Does it proxy or modify claude and codex?
No. The real binaries run unmodified, with the account's config directory set for that one run. If you set CLAUDE_CONFIG_DIR or CODEX_HOME yourself, clausona steps aside in that shell.
What does clausona send over the network?
clausona has no server and no telemetry. It reads an account's plan usage, or an API profile's spend, from that account's provider, and it renews a lapsed sign-in token when it has to. The dashboard also asks GitHub whether a newer clausona release is out.