Multi-CLI

Run 17 AI coding tools across multiple accounts at once — no re-login, no switching.

Stars
★ 186
Last updated
2mo ago
License
MIT
Primary language
PowerShell

At a glance

How it runs
CLI
Works with
Portable with changesCodex · Claude Code
Cost
Free, no paid service needed
Setup effort
Medium · a few setup steps
You'll need
Bash 3.2 or newer (macOS/Linux)Windows PowerShell 5.1jq 1.7.1Git (source install)Shell / CLINetwork accessLocal filesystem
Typical use
A developer holding both a personal and a work Claude Code subscription who wants both signed in at the same time.
Not a fit if
  • Solo developers with a single account and no CLI switching need
  • Teams that require a graphical account-management UI
  • Environments without Bash or PowerShell 5.1

What does this agent do, and when should you use it?

Multi-CLI is a cross-platform command-line manager that gives Claude Code, Codex CLI, Gemini CLI, Cursor CLI and 13 other AI coding tools independent account profiles, so several accounts can stay usable side by side. Isolation is chosen per tool: a file overlay separates only declared credential files, a process secret injects one credential into the child process, and OS-user or isolated tool-home modes go further. Beyond profile creation, it ships session-transfer (continue), credential-free templates, schema-v2 export/import, legacy migration and a doctor diagnostic. It is implemented as Bash and PowerShell scripts installed from install/, stores profiles under ~/MultiCliProfiles by default, and creates per-profile shell aliases such as claude-cli-work. Multi-CLI never calls a model itself — the managed AI tool still performs all model traffic.

Running multi-cli new <tool>/<name> scaffolds a profile using the narrowest isolation the target tool supports (file overlay, process secret, OS user or isolated tool home) and writes a shell alias such as claude-cli-work into ~/MultiCliProfiles/bin/. Invoking multi-cli <tool>/<name> or multi-cli launch <tool>/<name> [-- args...] starts that tool under the selected profile; tools that use a process secret first need multi-cli auth set, which stores the key in the OS credential store. Day-to-day maintenance is covered by list, clone, rename, delete, status and stats. The continue command copies session state between codex, claude-cli, gemini-cli and commandcode profiles (never credentials), template save produces credential-free schema-v2 templates, export/import moves schema-v2 profiles, migrate upgrades legacy profiles, and doctor [--deep] audits the setup and runtimes. Behaviour is tunable through MULTICLI_HOME, MULTICLI_OVERRIDE_BINARY, MULTICLI_REPO and MULTICLI_INSTALL_DIR.

  1. A developer holding both a personal and a work Claude Code subscription who wants both signed in at the same time.
  2. Someone whose Codex account hits its usage limit and who needs to move the existing conversation to another account.
  3. A freelancer using separate Gemini CLI or Cursor CLI accounts per client, with credentials that must not leak between them.
  4. A team that wants to distribute credential-free profile templates and let each member fill in their own keys.
  5. A developer working across macOS, Linux and Windows who wants one consistent account-management workflow.

How do you install or deploy this agent?

Check prerequisites first: Bash 3.2 or newer on macOS/Linux, Windows PowerShell 5.1 on Windows; jq 1.7.1 is installed automatically when missing. Installing from source requires Git.

macOS / Linux:

git clone https://github.com/Spielewoy/multi-cli.git
cd multi-cli
./install/install.sh --local

Windows PowerShell:

git clone https://github.com/Spielewoy/multi-cli.git
cd multi-cli
.\install\install.ps1 -Local

Restart the terminal if multi-cli or a new profile alias is not found afterwards.

How do you use this agent?

Diagnose the environment, then create and launch your first profile:

multi-cli doctor
multi-cli new claude-cli/work
multi-cli claude-cli/work

Tools that use a process secret (for example cursor-cli) need one extra credential step:

multi-cli new cursor-cli/work
multi-cli auth set cursor-cli/work
multi-cli cursor-cli/work

Request a fully separate tool home when the tool supports it:

multi-cli new codex/personal --isolated

Preview and then perform a session move between accounts:

multi-cli continue codex work personal --dry-run
multi-cli continue codex work personal
multi-cli codex/personal

List every command:

multi-cli help

What are this agent's strengths and limitations?

Pros
  • Supports 17 AI coding tools and picks the narrowest available boundary for each — file overlay, process secret, OS user or isolated tool home — instead of copying whole roots by default.
  • The continue command transfers conversation state for codex, claude-cli, gemini-cli and commandcode, so a user can keep working after an account hits its limit, and it never copies credentials.
  • Ships parallel Bash and PowerShell implementations covering macOS, Linux and Windows, with automatic per-profile shell aliases and Windows Start Menu shortcuts for GUI profiles.
  • Profiles can be cloned, renamed, exported, imported and saved as credential-free templates, which makes multi-machine and team rollout practical.
  • MIT-licensed, purely local scripts with no extra server component; profile data lives under ~/MultiCliProfiles and stays inspectable.
Limitations
  • Isolation strength is capped by each upstream tool: AGY CLI, Antigravity, Kiro, Windsurf and Zed rely on OS-user isolation, and Claude Code only supports the API-key path on macOS/Linux.
  • Only schema-v2 profiles, templates and archives are portable, so legacy profiles must be migrated with multi-cli migrate before export or template workflows.
  • Runtime prerequisites are real: Bash 3.2+ or PowerShell 5.1, plus jq 1.7.1 which may need to be fetched during install.
  • Session transfer covers only four tools; other tools' conversations cannot be moved between accounts.
  • Process-secret tools require a separate auth set step, and the secret is stored in the OS credential store rather than in a file you control.

How does this agent compare with similar options?

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
Multi-CLI This agent 48 · Major gaps CLIFree ★ 186 2mo ago PowerShell Codex · Claude Code
Claudexor 76 · Good CLIFree + model costs ★ 516 today TypeScript Codex · Claude Code
AI Switcher 58 · Major gaps CLIFree ★ 134 4d ago Rust Codex · Claude Code
Clausona Account Manager 74 · Some gaps CLI ★ 56 2d ago TypeScript Codex · Claude Code

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
48/ 100 5-point scale 2.4 / 5
Trust 14/29
Reliability 6/14
Adaptability 10/18
Convention 8/18
Effectiveness 7/13
Verifiability 3/8
Why each dimension lost points
Trust14 / 29 · 2.4/5

README explicitly states narrowest-supported isolation boundaries (file overlay/process secret/OS user/isolated tool home), credentials stored in OS credential store, and session transfer never copies credentials; SECURITY.md requires fail-closed on unsupported boundaries, so least_privilege and sensitive_data_handling score 2. However delete only says 'after confirmation' with no concrete confirmation flow evidence, so user_confirmation is 1. Data flow has an isolation-mode table but no per-tool data-flow detail, scoring 2. Dependency security: CI pins actions to commits and SHA256-verifies actionlint/bashcov/simplecov, but jq auto-install and curl|bash uninstall lack verification evidence, scoring 2. External effects (install/uninstall scripts, OS user creation) lack rollback guidance, so external_effects and rollback are 1. Source attribution is only the MIT copyright line with no upstream tool attribution, scoring 1.

Reliability6 / 14 · 2.1/5

README command tables, isolation table, and SECURITY boundary descriptions are mutually consistent, self_consistency 2. Dependency availability requires Bash 3.2, PowerShell 5.1, jq 1.7.1 but lacks a detailed per-platform compatibility matrix, scoring 1. Failure messages only point to doctor/tools with no concrete error codes or message examples, failure_messages 1.

Adaptability10 / 18 · 2.8/5

Targets multi-account concurrency across 17 tools and three platforms, audience_and_scenarios 2. Isolation-mode table clearly bounds capabilities, capability_boundaries 2. Trigger precision: many commands but no guidance on when to choose which mode, trigger_precision 1. Environment fit has platform columns and a support-matrix link, environment_fit 2.

Convention8 / 18 · 2.2/5

README has a contents list and sectioned command tables, information_architecture 2. Install steps include source install and dependency notes, install_notes 2. Naming stability is weakened by schema v1/v2 migration and legacy behavior differences, naming_stability 1. Examples are limited to a quick start with no FAQ, examples_and_faq 1. Known limitations only link to support-matrix without inline listing, known_limitations 1. LICENSE is full MIT, license 2. Version badge v1.0.0 but no CHANGELOG, versioning_changelog 1. Maintenance responsibility is only a generic 'maintainer' in SECURITY and the publisher is unverified, maintenance_responsibility 1.

Effectiveness7 / 13 · 2.7/5

Command output, profile aliases, and session transfer improve multi-account usability, output_usability 2. Clear marginal value for users needing concurrent accounts, marginal_value 2. But costs include installing jq, creating OS users, and elevated terminals, with no performance/cost comparison evidence, cost_benefit 1.

Verifiability3 / 8 · 1.9/5

README claims mostly map to docs links but lack per-claim mapping to code/tests, claim_traceability 1. CI workflows and test scripts corroborate that some tests exist, but no test results or coverage numbers are provided, cross_source_corroboration 1. Facts and inferences (e.g., 'narrowest boundary') are not clearly separated in docs, fact_inference_separation 1.

Risks and how to mitigate them
  • Uninstall runs a remote script via curl|bash with no visible checksum verification, a supply-chain risk.
  • The delete command only states 'after confirmation' with no evidence of the concrete confirmation mechanism.
  • External effects such as jq auto-install and OS user creation lack rollback guidance.
  • Schema v1/v2 migration and legacy behavior differences mean upgrades may change isolation behavior.
  • Publisher identity is unverified; maintenance responsibility and update path are unclear.
  • This is a static source review with no commands or tests executed; confidence is low.
Evidence confidence: Low Reviewed Oct 22, 2026 Reviewed revision 6efb0d204d4e
See the full review method →

FAQ

Does Multi-CLI add any model API cost?
No. Multi-CLI is free under the MIT license and never calls a model; any cost comes from the AI coding tools and accounts you point it at.
Are profiles fully isolated from each other?
It depends on the tool. Multi-CLI uses the narrowest supported boundary: a file overlay isolates only declared credential files, a process secret injects one key into the child process, and OS-user or isolated tool-home modes go further. Normal profiles still share the tool's native configuration and conversations; --isolated creates a separate tool home.
Does session transfer copy my login credentials?
No. multi-cli continue copies supported session state only and explicitly never copies credentials, and it is limited to codex, claude-cli, gemini-cli and commandcode.
Will my existing legacy profiles keep working?
Yes, with their original whole-root behaviour, but only schema-v2 profiles, templates and archives can be exported or imported. Preview with multi-cli migrate <tool>/<name> --dry-run before migrating.
Where do I start when something breaks?
Run multi-cli doctor to check the setup, add --deep to audit runtimes, and use multi-cli tools to see which tools your machine supports. Restart the terminal if the command or a new alias is missing after install.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents