claudeers.
// Developer Tools

aswap

Multi-account switcher for Claude Code and Claude Desktop: claude-swap (cswap) plus a maintained patch series.

Install with your AI

Paste into Claude Code, Cursor, or any agent — it reads the repo and wires the tool into your project.

Install and set up aswap (git-clone project) into my current project.
Found on https://claudeers.com/aswap
Repo: https://github.com/BlackHole1/aswap
Homepage/docs: https://pypi.org/project/aswap/
Detected install method: git-clone → git clone https://github.com/BlackHole1/aswap
Category: devtools. Platforms: cli, api, desktop, web.
Read the repo's README for exact setup and env vars, then install it and wire it into my project.

Claudeers Health Verdict:
unknown; community-verified: false. Confirm the source before running anything.
// or clone
git clone https://github.com/BlackHole1/aswap

// compatibility

Platformscli, api, desktop, web
Operating systems—
AI compatibilityclaude
LicenseMIT
Pricingopen-source
LanguageTypeScript

Get your FREE $2.50 API credits to access TickAtlas financial data ↗

aswap

English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Русский | Français | Español

cswap list: two accounts with their 5h, 7d and per-model usage, then cswap switch 2

Account swap for Claude Code: claude-swap (cswap) with a maintained set of fixes.

cswap switches among several Claude accounts, tracks each account's usage, and can switch you to the account with the most remaining quota. aswap is the same tool, built from unmodified upstream source plus a small patch series for bugs upstream has not fixed. You still run cswap.

The name

aswap is short for account swap, which is what the tool does. Next to cswap, the a is also what this project adds: aswap is cswap plus a patch series. As Claude Code grows into a general agent runtime, that same a also fits the AI and agent accounts that come with it.

Install

uv tool install aswap  # or: pipx install aswap
aswap --version

aswap accepts every cswap command. It installs alongside an upstream cswap without changing it. To run aswap under the name cswap as well:

aswap link  # creates a cswap launcher next to aswap; aswap unlink removes it

aswap link only replaces a cswap that an aswap install created (this one, a development build, a previous install). For an upstream cswap, uninstall upstream first (uv tool uninstall claude-swap) or pass --force.

Upgrading

aswap upgrade  # uv tool upgrade aswap / pipx upgrade aswap, whichever installed it

Building from source, and replacing an installed PyPI cswap with the patched build, are covered in CONTRIBUTING.md.

What the patches fix

cswap refresh fetches usage right now, one account at a time, and shows when a rate-limited account may retry:

cswap refresh: one account refreshed, the other rate limited with the server retry time

cswap desktop --all opens one Claude Desktop window per stored account, each signed in on its own:

cswap desktop --all opening one Claude Desktop window per account, then cswap desktop listing both as open

cswap chrome 2 opens account 2 in its own copy of your Chrome profile, so the Claude in Chrome extension there works as account 2 while the stock browser keeps its own login:

cswap chrome 2 opening a copy of the stock Chrome profile for account 2, cswap chrome 1 opening account 1, then cswap chrome listing both as open
patchproblem
Follow the live credential's ownerA stale ~/.claude.json can still name account B after the keychain holds A's token. Upstream then marks A as needing re-login and never refreshes B.
Follow the installed distributionVersion, update check, and upgrade hard-code claude-swap, so they break when the install is aswap.
Refresh usage on demandUpstream refreshes usage only on its own schedule, so screens keep a cached number and hide the server's retry time. cswap refresh [account ...] fetches now, one account at a time.
Keep history files when mergingMerging a profile's history into ~/.claude deletes every same-named file unread, so a later session or memory/MEMORY.md can vanish. A different file is kept under history-conflicts/.
Share one conversation historyWithout --share-history on every launch, claude --resume cannot find the conversation after the default account changes (upstream #239). Sharing is now the default (session.shareHistory).
Open Claude Desktop per accountClaude Desktop keeps one login per profile, so a second account means signing out and back in. cswap desktop 2 opens account 2 in its own window, the way guise does, and leaves the others open. The Code tab still lists the same local sessions.
Open Chrome per account for Claude in ChromeClaude in Chrome follows the browser's claude.ai cookie, not the account selected by cswap switch (upstream #256). cswap chrome 2 opens account 2 in its own Chrome profile. Once that window is closed, cswap chrome --sync 2 copies your profile in again. chrome.followSwitch brings the window forward on switch, and chrome.appPath can point at Edge, Brave, or Chromium.

Each patch is a single commit. The commit message explains the upstream problem. The full list is in patches/.patches.

How it is built

The project pins one upstream commit in upstream.json, clones it unchanged into cswap/, and keeps every change in patches/ as an ordinary git am patch. Patches apply in the order listed in patches/.patches. This matches the layout Electron uses for its Node and Chromium patches: diffs stay small and readable, and moving to a newer upstream is a rebase of the series. Details, commands, and the patch workflow are in CONTRIBUTING.md.

License

MIT, like claude-swap. See LICENSE.

// faq

What is aswap?

Multi-account switcher for Claude Code and Claude Desktop: claude-swap (cswap) plus a maintained patch series.. It is open-source on GitHub.

Is aswap free to use?

aswap is open-source under the MIT license, so it is free to use.

What category does aswap belong to?

aswap is listed under devtools in the Claudeers registry of Claude-compatible tools.

2 views
★ 14 stars
unclaimed
updated 1 day ago

// embed badge

aswap on Claudeers
[![Claudeers](https://claudeers.com/api/badge/aswap.svg)](https://claudeers.com/aswap)

// retro hit counter

aswap hit counter
[![Hits](https://claudeers.com/api/counter/aswap.svg)](https://claudeers.com/aswap)

// reviews

// guestbook

0/500

// related in Developer Tools

🔓

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Curs…

// devtoolsaffaan-m/⟨JavaScript⟩★ 267,519◷ MIT[ claude ]
🔓

Makes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote.

// devtoolsDietrichGebert/⟨JavaScript⟩★ 148,251◷ MIT[ claude ]
🔓

Use Garry Tan's exact Claude Code setup: 23 opinionated tools that serve as CEO, Designer, Eng Manager, Release Manager, Doc Engineer, and QA

// devtoolsgarrytan/⟨TypeScript⟩★ 134,274◷ MIT[ claude ]
🔓

AI coding assistant skill (Claude Code, Codex, OpenCode, Cursor, Gemini CLI, and more). Turn any folder of code, SQL schemas, R scripts, shell scripts, docs,…

// devtoolssafishamsi/⟨Python⟩★ 123,348◷ MIT[ claude ]
→ see how aswap connects across the ecosystem