claude-orchestrator: Run as Many Claude Desktop Instances as You Want on macOS

claude-orchestrator's interactive menu starting a Claude Desktop instance

We use Claude Desktop all day, and we hit the same wall many people do: it lives in a single Electron profile. One account, one set of Code tab sessions, one working directory at a time. Launch it a second time and it either brings back the window you already have or refuses to start. Keeping a work account and a personal account signed in side by side simply isn't possible out of the box.

So we built claude-orchestrator, a small, open-source command-line tool for macOS that runs Claude Desktop as many independent instances as you want. Each one has its own profile, account, sessions, Claude Code configuration and working directory.

It never touches Claude.app

The usual workaround is to copy the app bundle and patch it. That copy falls behind on every update and has to be rebuilt again and again. claude-orchestrator does nothing of the sort: it never copies, patches or re-signs /Applications/Claude.app. It launches the original, signed app with a different data directory, so the code signature, notarization, permissions and the built-in updater all keep working.

It relies on mechanisms Claude and macOS already ship:

What How
Separate Electron profile (cookies, sessions, settings) --user-data-dir=<per-instance path>
Separate Claude Code config (~/.claude, sessions) CLAUDE_CONFIG_DIR=<per-instance path>
Separate application instance open -n

Quick start: one instance per account

claude-orchestrator new work
claude-orchestrator new school
claude-orchestrator new client --workdir ~/workspace/client

claude-orchestrator signin work --exclusive
claude-orchestrator signin school --exclusive

claude-orchestrator start work && claude-orchestrator start school
claude-orchestrator agent --install     # menu bar icons to start, stop and switch

signin --exclusive closes the other instances while you sign in, because the browser hands the login back through a single claude:// link that only one running Claude can receive. They are reopened when you press Enter.

Prefer not to remember commands? Run claude-orchestrator with no arguments and do everything from an interactive menu: start and stop profiles, log in, browse sessions, manage projects.

More than a launcher

Once you have several instances, new questions come up quickly. claude-orchestrator answers them too:

  • Projects in every instance. The Code tab's environments are stored per profile and per account. claude-orchestrator project keeps one list and writes it into all instances. You can also keep the list in a projects.json file, preview the changes with --dry-run and apply it everywhere.
  • Move sessions between accounts. session copy and session move transfer a Claude Code session, with its sub-agent transcripts and TODO files, from one instance to another. Moves keep the original as a backup, and transfers are written to a temporary name first, so an interrupted copy never leaves half a transcript.
  • One shared CLAUDE.md. memory link links your global ~/.claude/CLAUDE.md into every instance, so your instructions are the same everywhere and you edit them in one place.
  • A menu bar agent. One icon per instance to start, focus or stop it, open its folders and read its logs.
  • Health checks. claude-orchestrator doctor explains why an instance refuses to start.

Install

curl -fsSL https://raw.githubusercontent.com/Yuix-Networks/claude-orchestrator/main/install.sh | sh

The script downloads the latest release, checks its SHA-256 and never uses sudo. Homebrew works too:

brew tap yuix-networks/tap
brew trust yuix-networks/tap
brew install yuix-networks/tap/claude-orchestrator

It needs macOS 13 (Ventura) or later, with Claude Desktop installed in /Applications.

Give it a try

claude-orchestrator is MIT-licensed and the code is on GitHub: github.com/Yuix-Networks/claude-orchestrator. Issues and pull requests are welcome, and if it saves you from juggling accounts, a star helps other people find it.