Manage multiple coding-agent accounts from the terminal.

Named profiles, cross-tool contexts, repository guardrails, verification, backups, and machine-readable commands in one open-source Rust CLI.

brew install burakdede/tap/aisw

Then run aisw init to save the accounts you are already signed into.

Add accounts the way you sign in.

Sign in through the provider's own OAuth login, save an API key, or keep the account a coding agent is already signed into. Each becomes a named profile; on first run, aisw init imports every current login at once.

# OAuth: sign in in the browser
$ aisw add claude work
# API key from an env variable
$ aisw add codex work-api-key \
    --api-key "$OPENAI_API_KEY"
# the login you're already using
$ aisw add claude personal --from-live

Switch one coding agent.

Activate a saved profile for a single tool. aisw applies the stored credentials to the location that tool already reads from and records what's active.

$ aisw use claude work
Claude Code → work
Auth          : oauth
State mode    : isolated

Effects
  Active profile updated.
  Backup created before switching.

Switch matching profiles across every tool.

When your profiles share a name across providers, switch all of them in one command instead of repeating it per tool.

$ aisw use --all --profile personal
# every agent with a 'personal' profile switches to it

Switch a complete mixed context.

A context maps a specific profile per tool under one name, even when the underlying profile names differ. Activate the whole mapping at once.

$ aisw context use work
Activated context
Context       : work

Effects
  Claude Code -> work (isolated)
  Codex CLI -> work-api-key (isolated)
  Gemini CLI -> work

Bind a repository to a context.

Connect a directory or Git remote to the context it should use, then let aisw warn or block when the active accounts don't match.

Bind a whole GitHub org
# this folder
$ aisw workspace bind . --context work
# every repo in your GitHub org
$ aisw workspace bind \
    --git-remote "github.com/your-org/*" \
    --context work
$ aisw workspace guard --mode strict

Verify what's actually active.

Check the recorded profile against live provider state, context, and workspace expectation. aisw explains what drifted and how to repair it.

$ aisw verify
Summary       : pass
Warnings      : 0
Failed        : 0

Script it with machine-readable output.

Every state-reading command has a JSON form, so other tools, including AI Switcher Desktop, can read status without parsing terminal output.

$ aisw status --json
$ aisw capabilities --json
$ aisw verify --json

What kinds of account-switching workflows does the CLI cover?

The aisw CLI is for the repetitive cases developers normally patch together with copied credential files and shell notes: switching between two Claude Code accounts, keeping a personal Codex CLI login separate from a client one, moving an entire multi-tool setup from one workspace to another, or keeping Antigravity CLI on the right local account alongside the other agents. It gives those workflows stable names and repeatable commands instead of hidden state.

The most common entry point is saving one live account as work, adding another as personal, and using aisw use <tool> <profile> to switch deliberately. Once that becomes too narrow, contexts let the CLI represent the real unit of work: a client, a team, or a repository family that needs its own account map.

CLI account-switching FAQ

These answers target the practical search intent behind most terminal users who land on the CLI page.

Can aisw switch accounts without making me log out every time?

Yes. Once an account is saved as a profile, switching means applying that saved credential back to the location the tool already reads from. You do not need a fresh logout-login cycle for routine switches.

Can I switch all supported tools together if the accounts belong to one client or workspace?

Yes. Use a context to map the supported tool profiles you want under one name, including Claude Code, Codex CLI, Gemini CLI, and Antigravity CLI, then activate that full setup with aisw context use <name>.

Can aisw stop me from using the wrong account in the wrong repository?

Yes. Bind a repository to its expected context with workspace rules, then enable guard mode. AI Switcher can warn or block when the active account set does not match the repository you opened.

Is this only for two accounts, or can I manage many client accounts?

You can manage as many named profiles and contexts as you need. The common pattern is personal, work, and one context per client, but the CLI is not limited to that.

Make your next account switch a single command.

Install aisw, run aisw init, and the accounts you are signed into become named profiles.

brew install burakdede/tap/aisw