Skip to content
n2nsPublic

About

PlanSwap: see what is left on each Claude Code and Codex subscription account (Claude Pro / Max, ChatGPT Plus / Pro…), get a recommended account when the current one runs low, and switch from a VS Code sidebar without signing out. Linked or independent accounts. For WSL, Linux and native Windows.

Topics

Resources

Stars

6 stars

Watchers

0 watching

Forks

Latest commit

 

History

307 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PlanSwap

PlanSwap: Claude Code & Codex Account Switcher

See how much is left on each Claude Code and Codex subscription account you own (Claude Pro / Max, ChatGPT Plus / Pro…), get told which one to use when the current one runs low, and switch with one click from a VS Code sidebar, without signing out and back in. Built for VS Code WSL remote windows, native Windows and macOS; local Linux desktops and other remote windows work too.

Version Install from VS Marketplace Open VSX downloads CI License: Apache 2.0

PlanSwap concept illustration showing separate Claude Code and Codex account switching panels

Features

PlanSwap sidebar, Claude tab: three accounts with usage limit bars and the Tools section PlanSwap sidebar, Codex tab: three accounts with usage limit bars and the Tools section

See what is left

  • Usage limits on every card: what is left (or used) of each limit and when it resets, checked automatically or on demand.
  • Status bar summary: Claude 97% · Codex 82%, turning yellow or red when a limit runs low.
  • Low-limit notifications: a notice when the current account's 5-hour or 7-day limit has 20% or less left; the threshold is adjustable.

Know when to switch

  • Recommended account: when the current account runs low, a card above the list names the signed-in account with the most left, with its limits and how long ago they were checked.
  • Switch or open a terminal: switch to it from the card, or open a terminal running the CLI as that account without switching.
  • Your choice of candidates: keep an account, such as a work account, out of the recommendations.

Manage your accounts

  • One sidebar, two tabs: Claude and Codex accounts side by side, each with its email and plan.
  • Your own order: drag the cards into the order you want (the current account stays first); it is kept for every editor on the same machine or WSL distribution.
  • Stay signed in everywhere: sign in once per account, then switch with one click.
  • Linked or independent accounts: share the default account's setup and history, or keep them separate.
  • API cards: run Claude Code or Codex against another AI service, such as DeepSeek, Kimi, OpenRouter or Ollama, set up entirely in the sidebar and switched like any account (Claude, Codex).
  • Tools: open your rules file and the official extension's settings, update the CLI, check linked accounts and repair their links.
  • Six languages: English, Simplified Chinese, Traditional Chinese, Spanish, Japanese and Korean.

Every setting is listed in the user guide.

Requirements

  • A VS Code 1.107+ compatible editor: VS Code, Antigravity IDE or VSCodium, in a WSL remote window, on native Windows, on macOS, on a local Linux desktop or in another remote window.
  • The official Claude Code and/or Codex extension installed where the window runs.
  • Optional: the claude and/or codex command on the PATH there. Without it, terminal sign-in and usage checks use the CLI bundled with the corresponding official extension.
  • For Codex switching on WSL and Linux: Bash as the login shell; on macOS: zsh or bash.
  • For Codex switching in a VS Code or VSCodium WSL window: the extension that connects the window reads the PlanSwap block in that editor's server-env-setup before its WSL server starts, so each editor keeps its own Codex selection. VS Code uses Microsoft's Remote - WSL; VSCodium needs the wsl-remote extension (n2ns.wsl-remote).

Supported editors

A Claude switch applies to new sessions; reload the window to move open panels over. A Codex switch needs a restart:

Environment After switching a Codex account
Antigravity IDE or VSCodium in WSL PlanSwap restarts the WSL server after you confirm; reload each disconnected window. VSCodium connects through the wsl-remote extension.
VS Code in WSL Close all VS Code windows of that distribution, then reopen them.
Native Windows Fully quit the editor and start it again from the Start menu or taskbar.
macOS Fully quit the editor (⌘Q) and open it again from the Dock, Launchpad or Finder.
Local Linux or other remote windows Restart the editor or remote server as PlanSwap's instructions show.

Save your work before switching Codex accounts: the restart closes integrated terminals and running CLI sessions. Step-by-step instructions: user guide.

Install

Search for PlanSwap in the Extensions view of a WSL window (the extension runs on the WSL side), a local Windows window or a macOS window, and click Install.

With a downloaded .vsix file, run Extensions: Install from VSIX... in the same kind of window instead.

Quick start

Open PlanSwap in the activity bar. The default row is your existing account.

Claude

  1. Click + (Add account), type a name and press Enter. Keep Linked to the default account (recommended) selected to reuse your setup, or choose Independent to keep it separate.
  2. Click the row's Log in button and sign in in the terminal.
  3. Click the Switch to this account arrow icon and confirm.

Codex

  1. On the Codex tab, click Enable Codex switching and confirm.
  2. Add an account and sign in, as for Claude.
  3. Switch to it and follow the restart steps for your environment.

Signing in to a new account never signs out the others. The user guide covers every step in detail.

Linked and independent accounts

Linked Independent
Settings, rules and skills The default account's A copy, changed separately
History and sessions The default account's Its own
Sign-in Its own Its own
Claude MCP servers, MCP sign-ins and project trust Kept in sync with the default account, in both directions, when you switch A copy of the servers, changed separately; its own sign-ins

You can change an account's mode later, and Re-link in Tools checks linked accounts after you change the default setup and offers Repair for what it finds. PlanSwap also runs this check in the background, adds the default account's MCP servers that a linked Claude account lacks, and notifies you when something else can be repaired (user guide).

Known limitations

  • Open sessions keep their account until you reload (Claude) or restart (Codex).
  • Switching is not per window: other windows of the same editor switch too.
  • Continuing another account's session can fail, especially between Codex accounts in different ChatGPT organizations.
  • Some sign-ins apply to every account, such as an ANTHROPIC_API_KEY in the environment; PlanSwap warns you (details).
  • On macOS, linked Claude accounts do not share sign-ins to OAuth MCP servers, which Claude Code keeps in the Keychain; sign in to such servers in each account. Codex switching follows the login shell's startup file, so a slow shell setup can keep the editor from picking it up, and the Codex and Claude desktop apps do not follow it (details).
  • On Windows, linking single files needs Developer Mode, and Codex thread databases stay per account (details). While the Codex extension runs Codex inside WSL (chatgpt.runCodexInWindowsSubsystemForLinux), manage Codex accounts from a WSL window (details).
  • Not yet verified everywhere: switching and usage limits have been tested end to end with real accounts in Antigravity IDE, VS Code and VSCodium in WSL, on native Windows and on a local Linux desktop. In VS Code on macOS (Intel, zsh), Claude accounts were tested end to end with a real account, and Codex switching without a Codex sign-in. Other remote windows have not been tested with real accounts.
  • API cards (DeepSeek, OpenRouter, Z.ai, Kimi, xAI, Ollama, LM Studio or a custom Responses endpoint such as a LiteLLM gateway) use independent Codex configuration and do not provide per-window backend isolation. Real-client acceptance is partly pending; see the guide and TODO.
  • Claude API cards (DeepSeek, Kimi, OpenRouter, Z.ai, Ollama or a custom Anthropic-compatible endpoint) run Claude Code against another service; Anthropic does not support Claude Code with non-Claude models, and acceptance with real services is pending (guide, TODO).

Privacy

PlanSwap has no telemetry. Its only network requests of its own are model lists for API cards (GET <endpoint>/models): after the editor starts, without any key, for OpenRouter and for Ollama and LM Studio on this machine; and from an API card form, to the endpoint you chose with the key you entered, when no saved list covers it. Usage limits are read through the official claude and codex CLIs, which contact their own services as usual. When Claude usage is unavailable, a minimal official CLI model request can check subscription access; it may consume a small amount of quota. PlanSwap never copies, moves or sends your Claude or Codex sign-in; between linked Claude accounts it syncs only the sign-ins to MCP servers, and it changes your shell or environment configuration only after you confirm (afterwards it keeps the blocks it added up to date). Details: privacy.

API keys entered for API cards are saved in plaintext in each card's own Codex configuration or Claude settings.json. Codex or Claude Code sends those cards' model requests directly to the card's service; PlanSwap does not proxy requests or check subscription quotas for them.

Uninstall

Before uninstalling PlanSwap:

  1. Switch Claude back to default and reload the window.
  2. If you enabled Codex switching, run Codex Account: Disable Codex Account Switching from the Command Palette to remove its shell configuration and the blocks in each editor's server-env-setup (on Windows, the user environment variable CODEX_HOME; on macOS, the block in your shell startup file).
  3. Uninstall PlanSwap from the Extensions view in the window where you installed it (WSL, Windows or macOS).

Your account directories (~/.claude-<name> and ~/.codex-<name>) are kept, including the .planswap-sync.json file of each linked Claude account. To clear PlanSwap's saved account list, display names and usage records as well, delete ~/.config/planswap/state.json. This does not delete the accounts' own files.

Documentation

  • User guide: step-by-step account setup, switching, usage limits, tools and troubleshooting.
  • Privacy: what PlanSwap reads, stores, changes and sends.
  • Changelog: changes in each release.
  • Blog post: why PlanSwap exists and how it switches accounts without copying or swapping credentials.

Contributing

The feature reference describes the detailed behavior of accounts, switching and panel tools. Building, testing and packaging are covered in development.

Disclaimer

PlanSwap is an independent community project and is not affiliated with, endorsed by, or sponsored by Anthropic or OpenAI.

License

Apache License 2.0

Built by N2NS Lab, the open-source lab of datafrog.io for practical AI developer tools.

About

PlanSwap: see what is left on each Claude Code and Codex subscription account (Claude Pro / Max, ChatGPT Plus / Pro…), get a recommended account when the current one runs low, and switch from a VS Code sidebar without signing out. Linked or independent accounts. For WSL, Linux and native Windows.

Topics

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages