by burakdede
AISW | AI Switcher - Switch between multiple Claude Code, Codex CLI, Antigravity and Gemini CLI accounts in one command. Named profile manager for AI coding agents.
# Add to your Claude Code skills
git clone https://github.com/burakdede/aiswLast scanned: 8/21/2026
{
"issues": [
{
"file": "README.md",
"line": 113,
"type": "remote-install",
"message": "Install command (remote install script piped to a shell — review the source before running): \"curl -fsSL https://raw.githubusercontent.com/burakdede/aisw/main/install.sh | sh\"",
"severity": "low"
}
],
"status": "PASSED",
"scannedAt": "2026-08-21T04:37:03.715Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}aisw is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by burakdede. AISW | AI Switcher - Switch between multiple Claude Code, Codex CLI, Antigravity and Gemini CLI accounts in one command. Named profile manager for AI coding agents. It has 100 GitHub stars.
Yes. aisw passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/burakdede/aisw" and add it to your Claude Code skills directory (see the Installation section above).
aisw is primarily written in Rust. It is open-source under burakdede on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh aisw against similar tools.
No comments yet. Be the first to share your thoughts!
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
AI Switcher (aisw) exists for a very specific kind of mess:
The underlying problem is not just "multiple accounts." It is that each upstream CLI stores auth differently, in different places, with different side effects. Manual switching usually means editing hidden files, copying auth.json, juggling CLAUDE_CONFIG_DIR, or hoping the shell session you are in still has the right environment.
aisw turns that into a named workflow:
If you have ever searched for "AI account switcher for Claude Code", "multiple Codex CLI accounts", "Gemini CLI work and personal profiles", or "coding agent profile switch per repo", AI Switcher addresses that workflow directly.
Store both once, then switch explicitly instead of logging out and back in:
aisw add claude work --api-key "$ANTHROPIC_API_KEY"
aisw add claude personal
aisw use claude work
The same pattern works for Codex CLI and Gemini CLI. For Codex ChatGPT-managed auth, the durable model is one isolated CODEX_HOME per profile.
Each client can have its own Claude, Codex, Gemini, and Antigravity profiles, even when the names differ:
aisw context create client-acme \
--claude acme-claude \
--codex acme-codex \
--gemini acme-gemini
aisw context use client-acme
That gives you one switch for the actual work mode instead of forcing fake naming symmetry across tools.
Bind the repo to a context and let the shell hook warn or block when the wrong account is active:
aisw workspace bind . --context client-acme
aisw workspace guard --mode strict
This is the practical answer to "how do I avoid opening a client repository with my personal coding agent account?"
General workflow:

Context workflow:

# Homebrew (macOS and Linux)
# If Homebrew asks you to trust the tap first
brew trust burakdede/tap
brew tap burakdede/tap
brew install aisw
# Shell installer (Linux/macOS)
curl -fsSL https://raw.githubusercontent.com/burakdede/aisw/main/install.sh | sh
# Cargo
cargo install aisw
The easiest mental model is:
aisw init captures whatever accounts are live right now.aisw add ... introduces another account directly under aisw.aisw use ... restores the saved credentials for the selected profile.If you are setting up work and personal accounts, follow this order instead of logging out and back in repeatedly at the upstream CLI first.
The top-level commands most people need are:
aisw initaisw add <tool> <profile>aisw use <tool> <profile>aisw use --all --profile <name>aisw listaisw status# Bootstrap ~/.aisw/, install shell integration, and import
# the accounts that are already live right now
aisw init
# Verify what got imported and marked active
aisw list
aisw status
If a tool was already logged in when you ran aisw init, you do not need to re-add that same first account with --from-live.
# Preferred path for a second Claude account
aisw add claude account-2 --label account-2@gmail.com
# Preferred path for a second Codex account
aisw add codex account-2 --label account-2@gmail.com
# If you also use Gemini
aisw add gemini account-2 --label account-2@gmail.com
This is the recommended path because AI Switcher drives the login flow itself instead of depending on whatever account happens to be live upstream at that moment.
For Codex specifically, this distinction matters:
aisw add codex <name> for ChatGPT-managed auth, because login happens inside that profile's isolated CODEX_HOME.aisw add codex <name> --from-live when you intentionally want to import the currently live ChatGPT-managed session.aisw use claude account-1
aisw use claude account-2
# If profile names line up across tools
aisw use --all --profile account-1
aisw use --all --profile account-2
After aisw use ..., start a fresh agent process. You should not need to log out and log back in manually after every switch, but you should not rely on reusing an already running or resumable session from the previous account.
--from-liveUse --from-live when you intentionally want to capture whichever account is currently live in the upstream CLI.
# Example: import the account that is currently live upstream
aisw add claude account-2 --from-live --label account-2@gmail.com
That workflow is:
aisw add ... --from-live.That is a valid import path, but it is not the best default recommendation when AI Switcher can run the login flow directly.
Use these when your setup is a little different from the normal two-account OAuth flow above.
# API-key-backed profiles
aisw add claude work --api-key "$ANTHROPIC_API_KEY"
aisw add codex work --api-key "$OPENAI_API_KEY"
aisw add gemini work --api-key "$GEMINI_API_KEY"
# Switch every tool when the profile names line up
aisw use --all --profile work
# Create one mixed-tool context when names do not line up
aisw context create acme \
--claude acme-claude \
--codex acme-codex \
--gemini acme-gemini
aisw context use acme
aisw add codex <name> --from-live is bootstrap-only. The durable path is direct per-profile login with aisw add codex <name>.GOOGLE_CLOUD_PROJECT, and headless automation should prefer GEMINI_API_KEY or Vertex AI.aisw init and aisw add gemini ... can still capture the currently live Gemini state for supported upstream auth modes, but you should start a fresh process after switching.--api-key and --from-env are rejected, because upstream documents keyring-backed sign-in rather than API-key profile auth.--state-mode does not apply.Once the two-account flow above makes sense, these are the shorter building blocks:
# Bootstrap: creates ~/.aisw/, offers shell-hook setup,
# and can import already logged-in accounts
aisw init
# Store profiles for each tool
aisw add claude work --api-key "$ANTHROPIC_API_KEY"
aisw add claude personal
aisw add codex work --api-key "$OPENAI_API_KEY"
aisw add gemini work --api-key "$GEMINI_API_KEY"
# Save a cross-tool context when profile names differ
aisw context create acme \
--claude acme-claude \
--codex acme-codex \
--gemini acme-gemini
# Switch
aisw use claude work