Swapdex banner
youdie006 youdie006

Swapdex

Development community

Description

Switch between multiple Claude Code and Codex login accounts, locally and safely. A switcher, not a rotator.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

swapdex - switch Claude Code and Codex login accounts, one command, all local

[![CI](https://github.com/youdie006/swapdex/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/youdie006/swapdex/actions/workflows/ci.yml) [![license](https://img.shields.io/badge/license-MIT-1e1d1a.svg)](LICENSE) [![switcher: no network](https://img.shields.io/badge/switcher-no%20network-7a3be0.svg)](#what-it-will-not-do)

One command to flip your Claude Code, Codex, Gemini CLI, or Antigravity from your work account to your personal one, and back. No re-login, no browser, no copying tokens around -- and the switch itself never touches the network. (One opt-in command, `swapdex quota`, reads your remaining balance from Anthropic; nothing else does.)

swapdex demo: ls, use personal, status, restore, doctor

Why

If you run Claude Code, Codex, Gemini CLI, or Antigravity under more than one account -- a work seat and a personal subscription, a client's org and your own -- switching means logging out and back in every time.

swapdex gives each account its **own permanent space** -- its own `CLAUDE_CONFIG_DIR` slot -- and flips between them without ever copying a token. `swapdex use work` points your default account there and a plain `claude` follows it; `swapdex run work` launches straight into that account (each terminal can be a different one). Because nothing is copied, **a switch can never log an account out** -- even if a session is still running when you switch. `swapdex onboard` sets this up in a few prompts.

It is a **switcher, not a rotator.** It manages accounts you already own for distinct purposes, with no feature for cycling them to get around a rate limit -- see [What it will not do](#wha