Skip to main content

ccswap (Claude Codex Swap)

CI PyPI Python versions Downloads License GitHub stars

Multi-account and usage manager for Claude Code and OpenAI Codex. Save multiple logins, check their quota windows, switch manually or automatically before you hit a rate limit, and manage both providers from one dashboard.

ccswap watch: live usage bars for every Claude Code and Codex account, with reset times and the active account marked

What it does

  • Keeps several Claude Code and Codex CLI logins side by side and switches the active one with ccswap switch 2 or ccswap codex switch 2.
  • Shows every account's 5-hour, 7-day and Codex weekly usage with reset times in ccswap list.
  • ccswap auto switches to the account with the most quota left once the active one crosses 90%, before the rate limit hits.
  • ccswap run 2 starts Claude Code as account 2 in one terminal only, so two accounts work in parallel.
  • A full-screen dashboard (ccswap) on macOS, Linux and Windows, and an optional macOS menu bar app.
  • --json output and exit codes for scripts and cron.

Quick start

uv tool install ccswap     # or: pipx install ccswap

# Log into Claude Code with your first account, then:
ccswap add
# Log in with the next account, then:
ccswap add

ccswap list       # every account's usage and reset times
ccswap switch 2   # or: ccswap switch --strategy best
ccswap auto       # or let it switch for you before a limit is hit

Codex accounts work the same way: run codex login, then ccswap codex add.

You usually don't need to restart Claude Code after a switch. Codex always needs one. See restarts.

Common tasks

Switch by quota. ccswap switch --strategy best picks the account with the most quota left. --strategy consume-first picks the one whose weekly limit resets soonest, so none of it expires unused. All switch options

Switch automatically. ccswap auto polls every 60 seconds and is safe to run while Claude Code works. Thresholds, per-model limits, cron mode and strategies are in auto-switching.

Two accounts at once. ccswap run 2 launches Claude Code as account 2 in this terminal only. ccswap map 2 ~/work makes a bare ccswap run pick account 2 in that folder. Session mode

Codex sessions. ccswap codex run 2 launches an account in a private home; the default login runs plain Codex. Codex session mode

Codex. ccswap codex list, codex switch and codex auto mirror the Claude commands. Codex must use its file credential store. Codex accounts

Dashboard and menu bar. Run ccswap for the dashboard, or ccswap watch for the live monitor above. On macOS, ccswap menubar --install-service keeps a menu bar app running at login. Dashboard and menu bar

Inside Claude Code. An optional statusline and a /ccswap pane, both off until you turn them on. Statusline and mod

Documentation

Agent skill

skills/ccswap-orchestration/ teaches a coding agent to check account headroom before a big fan-out and to pick a switch strategy under quota pressure:

npx skills add errhythm/ccswap --skill ccswap-orchestration

Updating and uninstalling

ccswap upgrade        # detects uv or pipx and upgrades

ccswap purge          # remove all ccswap data, then:
uv tool uninstall ccswap    # or: pipx uninstall ccswap

From source: git clone https://github.com/errhythm/ccswap.git && cd ccswap && uv sync && uv run ccswap help.

Requirements

  • Python 3.12+
  • Claude Code and/or Codex CLI
  • A file-backed login for managed Codex accounts

Support

If ccswap saved you from a rate limit, a ⭐ on GitHub helps other people find it. Bugs and ideas go in issues.

License and credits

ccswap began as a fork of claude-swap (cswap) by Onur Cetinkol, and still carries the original MIT license and credit for that. Since then it's grown into its own project: no more tracking upstream, no cswap compatibility, its own package and release line, and adds Codex support. It's MIT-licensed too, so fork it, file issues, send PRs — whatever's useful to you.

MIT. This fork retains the original project's copyright and license notice; see LICENSE. Upstream: realiti4/claude-swap.

Metadata

Release files for ccswap 0.42.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ccswap 0.42.2
File Size Uploaded Provenance Actions
ccswap-0.42.2.tar.gz 1.3 MB With provenance Details for ccswap-0.42.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for ccswap 0.42.2
File Interpreter ABI Platform Actions
ccswap-0.42.2-py3-none-any.whl Python 3 none any Details for ccswap-0.42.2-py3-none-any.whl

Total release size: 1.8 MB

Release files / ccswap-0.42.2.tar.gz

Download URL ccswap-0.42.2.tar.gz
Size 1.3 MB
Tags Source
SHA-256 checksum
How to use checksums
9438b7a3dc36049ebf85d6633d5bf2df1a747b1a71564ab382d352a521583808
BLAKE2b-256 checksum
How to use checksums
5eb80a42d27267123527dda91a743e0c2a39dd4f1e010aa085d1fd947948f2c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 28, 2026.

Transparency log

Release files / ccswap-0.42.2-py3-none-any.whl

Download URL ccswap-0.42.2-py3-none-any.whl
Size 468.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8ac39145bae23a2bb52f694f3e4d89e12e2006c7d896d279327f5a28cf79797b
BLAKE2b-256 checksum
How to use checksums
78900651b727b78dc3d0415adbbe405b004161c549b856525603e810530f363a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 28, 2026.

Transparency log

Security for ccswap 0.42.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for ccswap-0.42.2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 28, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.42.2 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page