Switch Claude Code, Codex CLI, Gemini CLI and Antigravity CLI accounts in one command.
aisw (AI Switcher) saves each coding-agent login as a named profile and switches
between them without logging out, copying auth.json or editing hidden config. It
can switch all four agents together and refuse to start an agent in a repository
while the wrong account is active. It runs locally, with no account, telemetry or
proxy.
- Two accounts, one machine. A work and a personal Claude Code or Codex login overwrite each other, and switching means signing out and back in.
- Every agent stores auth differently. Claude Code uses the macOS Keychain or
.credentials.json, Codex CLI usesCODEX_HOME/auth.json, Gemini CLI uses~/.gemini. Hand-copying these files breaks token refresh. - The wrong account in the wrong repository. Nothing stops a personal login from running in a client repository.
Import the login you already have, add others by OAuth sign-in or API key, and switch with a backup taken first. Each switch rolls back if any write fails. Adding profiles →
A context maps one profile per agent under a single name, even when the profile
names differ. aisw context use moves all of them together, or none.
Profiles, contexts and workspace rules →
Bind a folder, repository or GitHub org to a context. With the shell hook, the
guard warns or refuses to launch claude, codex, gemini or agy on a
mismatch and prints the command that fixes it.
Workspace guardrails →
# Homebrew (macOS, Linux)
brew install burakdede/tap/aisw
# Shell installer (macOS, Linux)
curl -fsSL https://raw.githubusercontent.com/burakdede/aisw/main/install.sh | sh
# Cargo (any platform)
cargo install aiswWindows binaries and checksums are on the releases page. AI Switcher Desktop and the VS Code and Cursor extension use the same profiles.
# Install the shell hook and import the logins you already have
aisw init
# Add accounts by OAuth sign-in or API key
aisw add claude work
aisw add codex work-api-key --api-key "$OPENAI_API_KEY"
# Switch one agent, or every agent in a context
aisw use claude work
aisw context create work --claude work --codex work-api-key
aisw context use work
# See what each agent is using now
aisw statusStart a new agent session after switching; a running process keeps the account it started with. The quickstart walks through each step.
| Tool | Binary | Auth | Platforms |
|---|---|---|---|
| Claude Code | claude |
OAuth, API key | macOS, Linux, Windows |
| Codex CLI | codex |
ChatGPT sign-in, API key | macOS, Linux, Windows |
| Gemini CLI | gemini |
Enterprise Google sign-in, Vertex AI, API key | macOS, Linux, Windows |
| Antigravity CLI | agy |
OAuth, API key | macOS, Linux, Windows |
Per-tool storage, state modes and limits are in Supported tools.
- Profiles live under
~/.aisw/, with secrets in the OS keyring (Keychain, Secret Service, Credential Manager) or0600files. - A switch writes the credentials to where each agent already reads them, after a backup, as one transaction. How it works →
- Every command takes
--jsonand uses stable exit codes, soaisw verifyworks as a CI gate. Automation → - Nothing leaves the machine. Security →
Docs · Commands · Guides · FAQ · Troubleshooting
- aipets: a macOS menu-bar widget (SwiftBar) that shows every aisw profile's Claude Code / Codex quota as a tamagotchi-style pet, with one-click switching and add/remove.
MIT.



