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.

macOS and Linux curl -fsSL https://github.com/larcane97/clausona/releases/latest/download/install.sh | bash
Windows PowerShell 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).

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 CodeCodex CLI
Sign-inOwnOwn
SkillsSharedShared
HooksSharedin settings.jsonSharedhooks.json
PluginsSharedShared
SettingsSharedsettings.jsonSharedconfig.toml
Global instructionsSharedCLAUDE.mdSharedAGENTS.md
MCP serversShared when a plugin brings themones added with claude mcp add stay with the accountSharedconfig.toml
Conversation historyOwn, or sharedwhen you merge sessionsOwn, 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 --version took 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 claude or codex launch skips it. It runs on the first launch after you change something, such as csn use or a plugin install, and on every launch of an API profile. clausona run starts 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 uninstall takes 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.

A terminal running clausona list, which shows Claude Code and Codex accounts with their 5-hour and weekly usage; then csn use work, after which claude's status shows the work account; then switching back and opening the clausona 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

  1. Register the accounts already signed in on this machine.

    clausona init
  2. Add another account. Claude Code's usual sign-in opens for it.

    clausona add claude:work
  3. Pick the account. Plain claude now starts signed in as it, on the same setup.

    csn use work

Also in clausona

Two accounts at once
clausona run claude:personal starts one session under another account without switching. Two terminals can run two accounts side by side.
Usage for all your accounts
clausona list and the dashboard show your 5-hour and weekly limits side by side, with the time left until they reset.
Routing
clausona run --route main starts 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

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.